#define LEDV 2
#define LEDA 18
#define LEDR 5
#define BOTON 13
#define LEDVP 19
bool semaforoRojo = false;
bool botonPresionado = false;
void setup() {
pinMode(LEDR, OUTPUT);
pinMode(LEDV, OUTPUT);
pinMode(LEDA, OUTPUT);
pinMode(LEDVP, OUTPUT);
pinMode(BOTON, INPUT);
}
void loop() {
if (semaforoRojo) {
digitalWrite(LEDR, HIGH);
if (digitalRead(BOTON) == HIGH){
digitalWrite(LEDVP, HIGH);
}
delay(1000);
digitalWrite(LEDR, LOW);
digitalWrite(LEDVP, LOW);
semaforoRojo = false;
} else {
digitalWrite(LEDV, HIGH);
delay(700);
for (int i = 0; i < 3; i++) {
digitalWrite(LEDV, LOW);
delay(50);
digitalWrite(LEDV, HIGH);
delay(50);
}
digitalWrite(LEDV, LOW);
digitalWrite(LEDA, HIGH);
delay(400);
digitalWrite(LEDA, LOW);
semaforoRojo = true;
}
}