from machine import Pin
from time import sleep
#led per l'output
led = Pin(4, Pin.OUT)
#bottoni per l'input
#pull down (pulsante rosso), il pulsante sta tra alimentazione positiva e pin14
#pull up (pulsante nero), il pulsante va connesso tra pin(in questo caso 27) e massa
btnON = Pin(14, Pin.IN, Pin.PULL_DOWN)
btnOFF = Pin(27, Pin.IN, Pin.PULL_UP)
#il bottone ha una caratterizzazione impulsiva, non conviene metterlo nel while, altrimenti sprechiamo risorse
#usiamo gli "interrupt" -> esco un attimo dal programma principale, gestisco l'evento dell'interruzione e poi ritorno nel programma principale
led.off()
def switchON(bt1):
print(bt1)
led.on()
def switchOFF(bt2):
print(bt2)
led.off()
#vogliamo monitorare la transizione da 0 a Vcc poiché è messo in puldown e il trigger è rising (quindi in salita)
btnON.irq(trigger=Pin.IRQ_RISING, handler=switchON)
#qui invece monitoriamo il fronte di discesa, ovvero quando si abbassa la tensione
btnOFF.irq(trigger=Pin.IRQ_FALLING, handler=switchOFF)