Primero debes completar SEM02 – Encender y apagar LEDs antes de ver esta lección

¿Ya sabes enceder y apagar un LED de manera independiente? ¡Vamos a añadir el resto de LEDs del semáforo de coches!

¿Dónde conectamos cada cable?

El pin GND del semáforo con el GND de Arduino (cable negro)
El LED rojo al pin 13 (cable gris)
El LED ámbar al pin 12 (cable lila)
El LED verde al pin 11 (cable azul)

¿Lo tienes? ¡Vamos a programarlo!

Programación con Arduino IDE

En la función void setup inicializamos los LEDs:

pinMode(13, OUTPUT);    // LED rojo
pinMode(12, OUTPUT);    // LED ámbar
pinMode(11, OUTPUT);    // LED verde

En la función void loop creamos el programa que queremos que nuestro Arduino ejecute una y otra vez:

  • Que se encienda el LED rojo durante 5 segundos.
digitalWrite(13, HIGH);
delay(5000);
  • Que se apague el LED rojo y se encienda el LED verde durante otros 5 segundos. Aunque en un semáforo real la duranción del semáforo en rojo no tiene porqué ser igual a la del semáforo en verde.
digitalWrite(13, LOW);
digitalWrite(11, HIGH);
delay(5000);
  • Que se apague el LED verde y se encienda el LED ámbar durante medio segundo.
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
delay(500);
  • Que se apague el LED ámbar para dar paso de nuevo al LED rojo.
digitalWrite(12, LOW);

El código completo nos ha quedado:

Programación con Arduino IDE usando variables

A medida que vamos añadiendo componentes a nuestro circuito, el código se va haciendo más complejo. Además, para que nuestro código sea más fácil de usar por otros y por nosotros mismos, vamos a usar variables que van a guardar el número del pin al que hayamos conectado nuestro LED. De hecho, es buena pŕactica de programación que en la función loop no aparezca ningún número, si tenemos que hacer referencia a alguno, la solución está en crear variables.

Como lo que queremos guardar es el número del pin al que hemos conectado cada uno de los LEDs. Usamos una variable const int

  • const porque es un número constante, no va a cambiar a lo largo del programa.
  • int porque es un número entero lo que va a almacenar.

Es buena práctica escribir la variable en mayúsculas y separando las palabras con guión bajo cuando la que creamos es una constante.

Las variables se declaran antes de la función void setup()

Nuestro nuevo código es:

¿Lo tienes? ¿Le añadimos el semáforo para peatones?

Cacharrea, crea y comparte tus proyectos.

Volver a: Aprende con el Kit Educativo de Semáforo para Arduino (SEM)

©2017 Fábrica Digital desde Jerez de la Frontera, España.

717 717 452 (Teléfono y Whatsapp) / hola@fabricadigital.org

De Lunes a Jueves de 09:00 a 18:00. Viernes de 09:00 a 14:00.

Calle del Comercio, 18, 11407 Jerez de la Frontera, Cádiz. - Cómo llegar

Información Legal - Aceptamos

 

Inicia Sesión con tu Usuario y Contraseña

o    

¿Olvidó sus datos?

Create Account