from machine import Pin, PWM, ADC
import time
# Configurazione componenti
servo = PWM(Pin(14)) # Servo sul pin 14
fotoresistore = ADC(26) # Fotoresistore sul pin 26
led1 = Pin(13, Pin.OUT) # LED 1 per angolo basso
led2 = Pin(12, Pin.OUT) # LED 2 per angolo alto
# Configurazione servo
servo.freq(50)
while True:
# Lettura fotoresistore
valore_luce = fotoresistore.read_u16()
# Mappa il valore della luce (0-65535) in angolo servo (2000-8000)
angolo_servo = int(2000 + (valore_luce / 65535) * 6000)
# Applica posizione al servo
servo.duty_u16(angolo_servo)
# Controllo LED basato sulla posizione
if angolo_servo < 4000: # Posizione bassa
led1.value(1)
led2.value(0)
elif angolo_servo > 6000: # Posizione alta
led1.value(0)
led2.value(1)
else: # Posizione media
led1.value(1)
led2.value(1)
# Stampa per debug
print("Luce:", valore_luce, "Angolo:", angolo_servo)
time.sleep(0.1) # Piccola pausa