from machine import Pin
from time import sleep
'''1)Collegare un pulsante ad un pin GPIO e scrivere un solftware per
leggerne lo stato. Quando il pulsante è premuto si accende un LED,
altrimenti il LED è spento.'''
'''Mentre il LED viene collegato ad un pin Digital Output,
il pulsante deve essere collegato ad un pin Digital Input.
Il primo collegamento avviene tra alimentazione, pin della scheda,
resistenza, LED e ground; il secondo collegamento avviene tra alimentazione,
pulsante, pin, resistenza di pull-down e groung.
'''
#Creo l'oggetto led associato al pin 32 e lo configuro come Digital Output
led=Pin(32, Pin.OUT)
#Creo l'oggetto button associato al pin 25 e lo configuro come Digital Input
button=Pin(25, Pin.IN)
while True:
#Leggo lo stato del pulsante
button_state=button.value()
'''mettendo una print(butto_state) vediamo che lo stato vale 0
e se andiamo con il cursore a premere il pulsante sarà 1'''
#Controllo che il pulsante sia premuto
if button_state==1:
#Allora accendo il LED
led.value(1)
sleep(0.2)
else:
led.value(0) #Altrimenti il LED è spento
sleep(0.2)
'''Senza il cambiamento dell'ingresso al pin
collegato al LED per la seconda volta, succede che dopo aver premuto
il pulsante il LED rimarrà sempre acceso, invece noi vogliamo che si spenga
dopo aver smesso di effettuare una pressione.'''
'''2)Utilizzare un pulsante per far lampeggiare un LED:
mentre il pulsante è premuto il LED lampeggia,
altrimenti il LED è spento.'''
while True:
#Controllo se il pulsante viene premuto
if button.value()==1:
led.value(1) #Accensione del LED
sleep(0.2) #ritardo prossima istruzione di 0.2 millisecondi
led.value(0) #Spegnimento del LED
sleep(0.8) #ritardo prossima istruzione di 0.8 secondi
else:
led.value(0) #Altrimenti il LED è spento