const int led1 = 8;
const int led2 = 9;
const int boton = 7;
bool estadoBotonAnterior = LOW;
void setup() {
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(boton, INPUT); // O INPUT_PULLUP si conectas el botón a GND
Serial.begin(9600);
digitalWrite(led1, HIGH); // LED1 encendido por defecto
digitalWrite(led2, LOW);
Serial.println("LED1 ENCENDIDO");
}
void loop() {
bool estadoBoton = digitalRead(boton);
// Detección de flanco de subida (presión del botón)
if (estadoBoton == HIGH && estadoBotonAnterior == LOW) {
// Apaga LED1 y enciende LED2
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
Serial.println("BOTÓN PRESIONADO");
Serial.println("LED1 APAGADO");
Serial.println("LED2 ENCENDIDO");
// Duración aleatoria entre 1 y 5 segundos
int duracion = random(1000, 5000);
delay(duracion);
// Apaga LED2 y enciende LED1 nuevamente
digitalWrite(led2, LOW);
digitalWrite(led1, HIGH);
Serial.print("LED2 APAGADO después de ");
Serial.print(duracion);
Serial.println(" ms");
Serial.println("LED1 ENCENDIDO");
}
estadoBotonAnterior = estadoBoton;
}