const int buttonPin = D1; // Pin al que está conectado el botón const int ledPin = D0; // Pin al que está conectado el LED int buttonState = 0; // Variable para almacenar el estado actual del botón int lastButtonState = 0; // Variable para almacenar el último estado del botón int ledState = LOW; // Variable para almacenar el estado del LED void setup() { // Inicializar el pin del LED como salida pinMode(ledPin, OUTPUT); // Inicializar el pin del botón como entrada pinMode(buttonPin, INPUT_PULLUP); // Utilizamos la resistencia pull-up interna } void loop() { // Leer el estado del botón buttonState = digitalRead(buttonPin); // Verificar si el botón ha sido presionado (cambio de estado de HIGH a LOW) if (buttonState == LOW && lastButtonState == HIGH) { // Cambiar el estado del LED ledState = !ledState; // Actualizar el estado del LED digitalWrite(ledPin, ledState); } // Almacenar el estado del botón lastButtonState = buttonState; // Pequeño retraso para eliminar el rebote del botón delay(50); }