#importo dalla libreria machine Pin per gestire i pin e PWM per generare un
#segnale PWM (necessario per il servo)
from machine import Pin, PWM
#importo time per gestire le attese
import time
#crea un oggetto PWM collegato al pin GP16 ( invierà il segnale di controllo al servo motore)
servo = PWM(Pin(16) )
#importa la frequenza del PWM (standard 50 per servo)
servo.freq(50)
#configura Pin GP17 come ingresso digitale (Il valore sarà 0 se il pulsante non è premuto, 1 se è premuto)
button = Pin(17, Pin.IN, Pin.PULL_DOWN)
#posizione minima del servo
MIN = 1638
#posizione massima del servo
MAX = 8192
#porta il servo nella posizione minima
servo.duty_u16(int(MIN) )
#ciclo infinito
while True:
# Controlla se il pulsante è premuto (valore logico 1)
if button.value():
# Sposta il servo nella posizione massima
servo.duty_u16(int(MAX) )
# Mantiene il servo in posizione massima per 1 secondo
time.sleep(1)
# Riporta il servo nella posizione minima
servo.duty_u16(int(MIN) )
# Attende 0.3 secondi prima di ripetere il ciclo
time.sleep(0.3)