PROGRAMANDO EL ARDUINO

En esta práctica vamos a empezar a programar el Arduino para poder controlar una serie de ledes. La mayor parte de la explicación está dentro del código (en cursiva) que debes copiar y pegar.

EJERCICIO 1 OBLIGATORIO

CONSTRUYE EL SIGUIENTE CIRCUITO

DEBES COPIAR TODO EL CÓDIGO Y PEGARLO EN EL IDE PARA SUBIR EL PROGRAMA AL ARDUINO

//Zona declaraciones: En esta parte se declaran variables, funciones, objetos, y estructuras.
 // vamos a dar un nombre a cada led indicando a que pin esta conectado
 int rojo1 = 7; //el primer led rojo esta conectado al pin 7...
 int rojo2 = 6; //el segundo led rojo al pin 6 y asi...
 int rojo3 = 5;
 int ambar = 4;
 int verde1 = 3;
 int verde2 = 2;

//////////////////////////////////////////////////////////////////////////

//Funcion setup: Esta función se ejecuta cada vez que se enciende la placa de Arduino, o se pulsa la tecla Reset.
 //Realiza funciones de inicialización de periféricos, comunicaciones, variables, etc.
 void setup() { 
  // todo lo que este entre las llaves pertenece al setup
  pinMode(rojo1, OUTPUT); //Vamos a establecer que todos los pines con led son pines de salida: "OUTPUT".
  pinMode(rojo2, OUTPUT); //Esto significa que vamos a poder usarlos para emitir una senal
  pinMode(rojo3, OUTPUT);
  pinMode(ambar, OUTPUT); 
  pinMode(verde1, OUTPUT);
  pinMode(verde2, OUTPUT);
 }

///////////////////////////////////////////////////////////////////////////

//Funcion loop: Esta función se ejecuta contínuamente. Realiza el grueso de tareas del autómata.
 //Es circular, al acabar se vuelve a ejecutar desde el comienzo.
 void loop() {
  //empiezo definiendo los led para cuando el semaforo esta cerrado
  digitalWrite(rojo1, HIGH); // con digitalWrite voy a encender ledes con la instruccion HIGH...
  digitalWrite(rojo2, HIGH); 
  digitalWrite(rojo3, HIGH);
  digitalWrite(ambar, LOW); // ... y apagar con la instruccion LOW
  digitalWrite(verde1, LOW);
  digitalWrite(verde2, LOW);
  //ahora voy a ir apagando las luces rojas una detras de otra esperando tres segundos despues de cada una.
  //para eso uso delay con la cantidad de microsegundos a esperar
  delay(3000);
  digitalWrite(rojo1, LOW);
  delay(3000);
  digitalWrite(rojo2, LOW);
  delay(3000);
  digitalWrite(rojo3, LOW);
  //y al mismo tiempo que apago la ultima roja enciendo las dos verdes
  digitalWrite(verde1, HIGH);
  digitalWrite(verde2, HIGH);
  //dejo las luces verdes encendidas 10 segundos
  delay(10000);
  //apago las luces verdes y enciendo la luz ambar
  digitalWrite(verde1, LOW);
  digitalWrite(verde2, LOW);
  digitalWrite(ambar, HIGH);
  //espero 2 seg con el ambar y volvera a empezar el ciclo
  delay(2000);

}

INTENTA CAMBIAR LOS RITMOS Y TIEMPOS DE LOS LED MODIFICANDO EL CÓDIGO PARA CONSEGUIR QUE:

-La luces rojas se apaguen en el orden inverso

-La luz ámbar parpadee 4 veces antes de pasar a verde

-La luces verdes parpadeen alternativamente (una encendida, otra apagada y luego viceversa)

MÁS TEORÍA

Si quieres ampliar acerca de la teoría relativa a LEDs es muy recomendable el tutorial de Luis Llama

Encender un LED con Arduino

EJERCICIO 2 OPCIÓN

Responde con un email a robotica@santodomingodesilos.org antes de la fecha tope de entrega de esta práctica y gana hasta 2 puntos extra en la práctica (dependiendo de cuantos grupos respondan bien: los 2 puntos se dividen entre todos los que den respuesta correcta)

A) ¿Por qué en la imagen del ejemplo hay dos tipos de resistencias con dos códigos de colores distintos?

B) En el esquema adjunto de fritzing sobra un cable: ¿Cuál?

 

Práctica 3 – Semáforo (control de ledes) int, pinMode y digitalWrite

3 pensamientos en “Práctica 3 – Semáforo (control de ledes) int, pinMode y digitalWrite

  • marzo 22, 2017 a las 7:08 pm
    Enlace permanente

    En lugar de marcar con un número su resistencia en Ohmios usan un sistema de bandas de colores. También se indican tolerancias (último color).

    Responder
    • abril 3, 2017 a las 7:20 am
      Enlace permanente

      Esto no era aquí. Había que mandar un email. De todas formas no respondes.

      Responder
  • mayo 9, 2017 a las 11:47 am
    Enlace permanente

    kike no m sale pork no bienes a bernos y llo no puedo seguir bibiendo hasi

    Responder

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *