#105Principiante
ESP32 LED de control con el botón (Toggle)
Cada vez que se pulsa el botón, cambia el estado del LED: si está encendido se apaga, si está apagado se enciende. Patrón de conmutación clásico. Con debounce limpiamos el ruido mecánico del pulsador para garantizar una sola conmutación con una sola pulsación.
4.6(37)
50 completado

Cada vez que se pulsa el botón, cambia el estado del LED: si está encendido se apaga, si está apagado se enciende. Patrón de conmutación clásico. Con debounce limpiamos el ruido mecánico del pulsador para garantizar una sola conmutación con una sola pulsación.
Video
Diagrama del circuito

Código fuente
1const int LED_PIN = 5;
2const int BUTTON_PIN = 4;
3
4bool ledState = false;
5bool lastButton = HIGH;
6unsigned long lastPress = 0;
7const unsigned long DEBOUNCE = 50;
8
9void setup() {
10 pinMode(LED_PIN, OUTPUT);
11 pinMode(BUTTON_PIN, INPUT_PULLUP);
12}
13
14void loop() {
15 bool buttonState = digitalRead(BUTTON_PIN);
16
17 if (buttonState == LOW && lastButton == HIGH && (millis() - lastPress > DEBOUNCE)) {
18 ledState = !ledState;
19 digitalWrite(LED_PIN, ledState);
20 lastPress = millis();
21 }
22 lastButton = buttonState;
23}