from machine import Pin
import time
# Definimos el pin del LED interno del ESP32
led = Pin(18, Pin.OUT)
# Configura el pin 15 como entrada para leer el botón
boton = Pin(15, Pin.IN, Pin.PULL_DOWN) # Asegura que el pin tenga una resistencia pull-down
# Función para encender el LED
def encender_led():
led.on()
# Función para apagar el LED
def apagar_led():
led.off()
# Estado inicial del LED y el botón
estado_led = False
estado_boton_anterior = False
while True:
estado_boton_actual = boton.value()
# Detectar flanco de subida (botón presionado)
if estado_boton_actual and not estado_boton_anterior:
print("Botón presionado!")
# Alternar el estado del LED
if estado_led:
apagar_led()
else:
encender_led()
estado_led = not estado_led # Cambiar el estado del LED
# Espera para evitar rebotes
time.sleep_ms(200)
estado_boton_anterior = estado_boton_actual
# Pequeña demora para reducir el uso de CPU
time.sleep(0.01)