// Declarar variables de los elementos
int pinLed = 2;
int pinPulsador = 4;
bool ledEncendido = false; // Variable para guardar el estado del LED
bool pulsadorEstado = false; // Variable para guardar el estado actual del pulsador
bool pulsadorEstadoPrevio = false; // Variable para guardar el estado previo del pulsador
void setup() {
// Inicializar los pines de modo que los necesitamos
pinMode(pinLed, OUTPUT);
pinMode(pinPulsador, INPUT);
}
void loop() {
pulsadorEstado = digitalRead(pinPulsador); // Leer el estado del pulsador
// Detectar el flanco de subida (cuando el pulsador se presiona)
if (pulsadorEstado == HIGH && pulsadorEstadoPrevio == LOW) {
ledEncendido = !ledEncendido; // Cambiar el estado del LED
digitalWrite(pinLed, ledEncendido); // Actualizar el estado del LED
}
pulsadorEstadoPrevio = pulsadorEstado; // Actualizar el estado previo del pulsador
delay(50); // Pequeño retraso para evitar rebotes del pulsador
}