int led_rojo1 = 17;
int led_amarillo1 = 16;
int led_verde1 = 15;
int led_rojo2 = 14;
int led_amarillo2 = 13;
int led_verde2 = 12;
int led_rojo3 = 6;
int led_verde3 = 5;
int led_rojo4 = 7;
int led_verde4 = 8;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32 Semaforo!");
pinMode(led_rojo1, OUTPUT);
pinMode(led_amarillo1, OUTPUT);
pinMode(led_verde1, OUTPUT);
pinMode(led_rojo2, OUTPUT);
pinMode(led_amarillo2, OUTPUT);
pinMode(led_verde2, OUTPUT);
pinMode(led_rojo3, OUTPUT);
pinMode(led_verde3, OUTPUT);
pinMode(led_rojo4, OUTPUT);
pinMode(led_verde4, OUTPUT);
}
void loop() {
// configuramos el primer semaforo
digitalWrite(led_verde1, HIGH); //prende verde 1
digitalWrite(led_rojo2, HIGH); //prende rojo 2
// configuramos el primer semaforo peatonal
digitalWrite(led_rojo3, HIGH); //prende rojo 3
// configuramos el segundo semaforo peatonal
digitalWrite(led_verde4, HIGH);
delay(5000);
digitalWrite(led_verde1, LOW); //apaga verde
delay(500);
// Parpadeo del verde antes de cambiar al amarillo
for (int i = 0; i < 3; i++) {
digitalWrite(led_verde1, HIGH);
delay(500);
digitalWrite(led_verde1, LOW);
delay(500);
}
digitalWrite(led_amarillo1, HIGH); // Enciende el amarillo (precaución)
delay(2000);
digitalWrite(led_amarillo1, LOW); // Apaga el amarillo
delay(500);
digitalWrite(led_rojo1, HIGH); // Enciende el rojo 1 (detenerse)
digitalWrite(led_rojo3, LOW);
digitalWrite(led_verde3, HIGH);
digitalWrite(led_verde4, LOW);
digitalWrite(led_rojo4, HIGH);
digitalWrite(led_rojo2, LOW); // apaga el rojo 2
digitalWrite(led_verde2, HIGH); //prende verde 2
delay(5000);
digitalWrite(led_verde2, LOW); // Apaga el verde 2
delay(1000);
// Parpadeo del verde antes de cambiar al amarillo
for (int i = 0; i < 3; i++) {
digitalWrite(led_verde2, HIGH);
delay(500);
digitalWrite(led_verde2, LOW);
delay(500);
}
digitalWrite(led_amarillo2, HIGH); // Enciende el amarillo (precaución)
delay(2000);
digitalWrite(led_amarillo2, LOW); // Apaga el amarillo
delay(500);
digitalWrite(led_rojo1, LOW);
digitalWrite(led_rojo3, HIGH);
digitalWrite(led_verde3, LOW);
digitalWrite(led_verde4, HIGH);
digitalWrite(led_rojo4, LOW);
}