Semáforo básico con peatones (Previsualizar)

Esquema de conexión de un semáforo con LEDs y Arduino
Primero debes completar Semáforo básico antes de ver esta lección

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

Conexión del circuito

Si aún no sabes cómo se conectan los LEDs, revisa la lección anterior.

Esquema de conexión de un semáforo con LEDs y Arduino

Yo he conectado los dos nuevos LEDs a los pines digitales 5 y 7 de Arduino. ¡Vamos a por el código!

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 = 11;
const int LED_VERDE_COCHE = 9;
const int LED_ROJO_PEATON = 7;
const int LED_VERDE_PEATON = 5;

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ón 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);
digitalWrite(LED_ROJO_PEATON, HIGH);
digitalWrite(LED_ROJO_COCHE, LOW);
digitalWrite(LED_VERDE_COCHE, HIGH);
delay(5000);

Nuestro código definitivo es:

Cacharrea, crea y comparte tus proyectos.

  • Breadboard 400 puntos para prototipar
    Breadboard 400 puntos para prototipar
    Añadir al carrito
    Vista rápida
    3,50  (2,89  excl. IVA)
    En tienda
  • Agotado
    Genuino UNO Rev. 3
    Genuino UNO Rev. 3
    Leer más
    Vista rápida
    25,00  (20,66  excl. IVA)
    Temporalmente no disponible
  • LED rojo difuso de 5mm
    Añadir al carrito
    Vista rápida
    0,10  (0,08  excl. IVA)
    En tienda
Volver a: Semáforo con Arduino

©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