// Definición de los pines
const int ledVerdeAutos = 2;
const int ledAmarilloAutos = 19;
const int ledRojoAutos = 4;
const int ledVerdePeatones = 5;
const int ledRojoPeatones = 21;
void setup() {
// Inicialización de los pines como salida
pinMode(ledVerdeAutos, OUTPUT);
pinMode(ledAmarilloAutos, OUTPUT);
pinMode(ledRojoAutos, OUTPUT);
pinMode(ledVerdePeatones, OUTPUT);
pinMode(ledRojoPeatones, OUTPUT);
}
void loop() {
// Inicia con el semáforo de autos en verde y peatones en rojo
cambiarSemaforos(HIGH, LOW, LOW, LOW, HIGH);
delay(5000); // Verde por 5 segundos
// Cambio a amarillo para autos, peatones siguen en rojo
cambiarSemaforos(LOW, HIGH, LOW, LOW, HIGH);
delay(2000); // Amarillo por 2 segundos
// Cambio a rojo para autos, verde para peatones
cambiarSemaforos(LOW, LOW, HIGH, HIGH, LOW);
delay(5000); // Rojo y verde respectivamente por 5 segundos
// Preparación para cambiar: rojo para autos, peatones en rojo también (intermitente opcional)
// Aquí podrías agregar una secuencia intermitente para el semáforo de peatones si lo deseas.
}
// Función para cambiar el estado de los LEDs
void cambiarSemaforos(bool verdeAutos, bool amarilloAutos, bool rojoAutos, bool verdePeatones, bool rojoPeatones) {
digitalWrite(ledVerdeAutos, verdeAutos);
digitalWrite(ledAmarilloAutos, amarilloAutos);
digitalWrite(ledRojoAutos, rojoAutos);
digitalWrite(ledVerdePeatones, verdePeatones);
digitalWrite(ledRojoPeatones, rojoPeatones);
}