Primero debes completar SEM03 – Semáforo de coches antes de ver esta lección

Ya hemos creado un semáforo para coches. Ahora vamos a añadirle el semáforo para peatones. ¿Estás listo?

¿Dónde conectamos cada cable?

El pin GND del semáforo con el GND de Arduino (cable negro)
El LED rojo para coches al pin 13 (cable gris)
El LED ámbar al pin 12 (cable lila)
El LED verde para coches al pin 11 (cable azul)
El LED rojo para peatones al pin 9 (cable amarillo)
El LED verde para peatones al pin 8 (cable naranja)

¿Lo tienes? ¡Vamos a programarlo!

Programación con Arduino IDE

1. Creamos las variables que van a guardar el número del pin digital al que está conectado cada LED:

const int LED_ROJO_COCHE = 13;
const int LED_AMBAR_COCHE = 12;
const int LED_VERDE_COCHE = 11;
const int LED_ROJO_PEATON = 9;
const int LED_VERDE_PEATON = 8;

2. Inicializamos los LEDS en la función void setup():

pinMode (LED_ROJO_COCHE, OUTPUT);
pinMode(LED_AMBAR_COCHE, OUTPUT);
pinMode(LED_VERDE_COCHE, OUTPUT);
pinMode(LED_ROJO_PEATON, OUTPUT);
pinMode(LED_VERDE_PEATON, OUTPUT);

3. En la funciónvoid loop() encendemos y apagamos los LEDs atendiendo a qué debe de estar ocurriendo en cada momento, por lo que tendremos varios estados:

  • Estado 1: Durante 5 segundos, los coches estań parados y los peatones pueden cruzar la calle.
digitalWrite(LED_ROJO_COCHE, HIGH);
digitalWrite(LED_VERDE_PEATON, HIGH);
delay(5000);
  • Estado 2: durante 5 segundos, el semáforo de los coches cambia de rojo a verde y el de los peatones de verde a rojo.
digitalWrite(LED_ROJO_COCHE, LOW);
digitalWrite(LED_VERDE_PEATON, LOW);
digitalWrite(LED_VERDE_COCHE, HIGH);
digitalWrite(LED_ROJO_PEATON, HIGH);
delay(5000);
  • Estado 3: El semáforo de los coches se pone en ámbar durante medio segundo, el de los peatones sigue en rojo.
digitalWrite(LED_VERDE_COCHE, LOW);
digitalWrite(LED_AMBAR_COCHE, HIGH);
delay(500);
digitalWrite(LED_AMBAR_COCHE, LOW);
digitalWrite(LED_ROJO_PEATON, LOW);
  • Volvemos al estado 1.

El código completo nos ha quedado así:

Vamos a perfeccionar nuestro semáforo. Observando cómo funcionan los semáforos nos damos cuenta de que el semáforo de peatones antes de ponerse en rojo el muñequito verde parpadea. Por lo que el estado 2 cambia, tenemos que añadir el parpadeo del LED_VERDE_PEATON

digitalWrite(LED_VERDE_PEATON, LOW);
delay(200);
digitalWrite(LED_VERDE_PEATON, HIGH);
delay(200);
digitalWrite(LED_VERDE_PEATON, LOW);
delay(200);
digitalWrite(LED_VERDE_PEATON, HIGH);
delay(200);
digitalWrite(LED_VERDE_PEATON, LOW);
delay(200);
digitalWrite(LED_VERDE_PEATON, HIGH);
delay(200);
digitalWrite(LED_VERDE_PEATON, LOW);
digitalWrite(LED_ROJO_PEATON, HIGH);
digitalWrite(LED_ROJO_COCHE, LOW);
digitalWrite(LED_VERDE_COCHE, HIGH);
delay(5000);

Nuestro código definitivo es:

¿Lo has entendido todo? ¿Seguimos? ¡Seguimos!

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