Este es un circuito básico para un semáforo para coches y peatones utilizando Arduino. Este circuito usa LED para representar los semáforos, pero podrías adaptarlo para usar luces reales si lo deseas.
Placa Arduino (por ejemplo, Arduino Uno)
2 LED rojos (para semáforo de coches)
2 LED amarillos (para semáforo de coches)
2 LED verdes (para semáforo de coches)
1 LED rojo (para semáforo de peatones)
1 LED verde (para semáforo de peatones)
1 pulsador (para que los peatones soliciten el cruce)
Resistencias de 220 ohmios para los LED
Protoboard y cables de conexión
Semaforo de coches:
Pin 2: LED rojo
Pin 3: LED amarillo
Pin 4: LED verde
Semaforo de peatones:
Pin 5: LED rojo
Pin 6: LED verde
Pulsador:
Pin 7: Conectado al pulsador
// Definición de pines
const int rojoCoches = 2;
const int amarilloCoches = 3;
const int verdeCoches = 4;
const int rojoPeatones = 5;
const int verdePeatones = 6;
const int pulsador = 7;
// Definición de tiempos
const int tiempoVerdeCoches = 10000; // 10 segundos
const int tiempoAmarilloCoches = 3000; // 3 segundos
const int tiempoVerdePeatones = 10000; // 10 segundos
const int tiempoRojoPeatones = 3000; // 3 segundos
void setup() {
// Inicialización de pines
pinMode(rojoCoches, OUTPUT);
pinMode(amarilloCoches, OUTPUT);
pinMode(verdeCoches, OUTPUT);
pinMode(rojoPeatones, OUTPUT);
pinMode(verdePeatones, OUTPUT);
pinMode(pulsador, INPUT_PULLUP);
}
void loop() {
// Semáforo para coches
digitalWrite(verdeCoches, HIGH);
delay(tiempoVerdeCoches);
digitalWrite(verdeCoches, LOW);
digitalWrite(amarilloCoches, HIGH);
delay(tiempoAmarilloCoches);
digitalWrite(amarilloCoches, LOW);
digitalWrite(rojoCoches, HIGH);
delay(tiempoAmarilloCoches);
// Habilitar paso de peatones
digitalWrite(rojoPeatones, LOW);
digitalWrite(verdePeatones, HIGH);
// Esperar que el peatón presione el botón
while (digitalRead(pulsador) == HIGH) {
delay(100);
}
// Semáforo para peatones
digitalWrite(verdePeatones, LOW);
delay(1000); // Esperar un segundo para asegurar que los coches ven el cambio
digitalWrite(rojoCoches, LOW);
digitalWrite(verdeCoches, HIGH);
delay(1000); // Esperar un segundo para asegurar que los coches ven el cambio
digitalWrite(rojoPeatones, HIGH);
delay(tiempoRojoPeatones);
}
Este código hace que el semáforo para coches funcione durante 10 segundos en verde, luego 3 segundos en amarillo y otros 3 segundos en rojo. Luego, permite que los peatones crucen pulsando el botón conectado al pin 7. Una vez que los peatones presionan el botón, el semáforo de coches vuelve a estar verde y el semáforo de peatones se pone en verde durante 10 segundos antes de volver a rojo.
Asegúrate de seguir las medidas de seguridad necesarias cuando trabajes con componentes electrónicos y conexiones eléctricas. ¡Diviértete con tu proyecto de semáforo Arduino!
Recomendados:
Un día como hoy 14/11/2026
La mañana del 14 de noviembre de 1921, un hombre colocó una bomba con dinamita dentro de un arreglo floral, con la intención de destruir la imagen original de la Guadalupana. Sin embargo, la imagen de la Virgen de Guadalupe, no sufrió ningún daño.