import time
from machine import Pin
drukknopPin = 18
ledPin = 20
Controledrukknop = Pin(drukknopPin, Pin.IN, Pin.PULL_DOWN)
rodeLed = Pin(ledPin, Pin.OUT)
rodeLed.off()
teller = 0
laatste_irq_ms = 0
DEBOUNCE_MS = 200
def interruptroutine(pin):
global teller, laatste_irq_ms
nu = time.ticks_ms()
# Debounce: negeer interrupts die te snel na elkaar komen
if time.ticks_diff(nu, laatste_irq_ms) < DEBOUNCE_MS:
return
laatste_irq_ms = nu
# Extra check op toestand: bij PULL_DOWN is "ingedrukt" = 1
if pin.value() == 1:
teller += 1
rodeLed.on()
print("ingedrukt", teller)
Controledrukknop.irq(trigger=Pin.IRQ_RISING, handler=interruptroutine)
try:
while True:
time.sleep_ms(10)
except KeyboardInterrupt:
rodeLed.off()