// Pines Semáforo 1
const int t1_verde = 2;
const int t1_amarillo = 3;
const int t1_rojo = 4;
// Pines Semáforo 2
const int t2_verde = 6;
const int t2_amarillo = 7;
const int t2_rojo = 8;
void setup() {
// Configurar todos los pines como salida
pinMode(t1_verde, OUTPUT);
pinMode(t1_amarillo, OUTPUT);
pinMode(t1_rojo, OUTPUT);
pinMode(t2_verde, OUTPUT);
pinMode(t2_amarillo, OUTPUT);
pinMode(t2_rojo, OUTPUT);
}
void apagarTodos() {
digitalWrite(t1_verde, LOW);
digitalWrite(t1_amarillo, LOW);
digitalWrite(t1_rojo, LOW);
digitalWrite(t2_verde, LOW);
digitalWrite(t2_amarillo, LOW);
digitalWrite(t2_rojo, LOW);
}
void loop() {
// Estado 1: Vía 1 avanza, Vía 2 se detiene
apagarTodos();
digitalWrite(t1_verde, HIGH);
digitalWrite(t2_rojo, HIGH);
delay(5000);
// Estado 2: Vía 1 precaución, Vía 2 sigue detenida
apagarTodos();
digitalWrite(t1_amarillo, HIGH);
digitalWrite(t2_rojo, HIGH);
delay(2000);
// Estado 3: Margen de seguridad (Ambos en rojo)
apagarTodos();
digitalWrite(t1_rojo, HIGH);
digitalWrite(t2_amarillo, HIGH);
delay(2000);
// Estado 4: Vía 1 se detiene, Vía 2 avanza
apagarTodos();
digitalWrite(t1_rojo, HIGH);
digitalWrite(t2_verde, HIGH);
delay(5000);
// Estado 5: Vía 1 sigue detenida, Vía 2 precaución
apagarTodos();
digitalWrite(t1_rojo, HIGH);
digitalWrite(t2_amarillo, HIGH);
delay(2000);
// Estado 6: Margen de seguridad (Ambos en rojo)
apagarTodos();
digitalWrite(t1_amarillo, HIGH);
digitalWrite(t2_rojo, HIGH);
delay(2000);
}