import time from machine import Timer, Pin def debounce(pin, callback, delay_ms=50): def _debounce_handler(timer): if pin.value() == 0: # Assuming active low button callback() debounce_timer = Timer(-1) def _pin_handler(pin): debounce_timer.init( mode=Timer.ONE_SHOT, period=delay_ms, callback=_debounce_handler ) return _pin_handler counter = 0 def button_pressed(): print("Button pressed!") counter = 0 button_pin = Pin(14, Pin.IN, Pin.PULL_UP) button_handler = debounce(button_pin, button_pressed) button_pin.irq(trigger=Pin.IRQ_FALLING, handler=button_handler) while True: if counter <= 10: print("Press the button") elif counter > 10 and counter < 20: print("Come on....Press the button.") else: print("PRESS THE BUTTON!") time.sleep(5) counter += 1