from machine import Pin, PWM, ADC
import time
# Setup del joystick e LED
joystick_y = ADC(27) # Asse Y del joystick su GPIO27 (ADC1)
led = PWM(Pin(5)) # LED con PWM sul pin 5
led.freq(1000) # Frequenza PWM a 1000Hz
# Valori di riferimento joystick
MIN_JOY = 0 # Valore minimo joystick
MAX_JOY = 65535 # Valore massimo joystick
CENTRO_JOY = 32768 # Valore centrale joystick
while True:
# Leggi il valore del joystick (0-65535)
valore_y = joystick_y.read_u16()
# Converti il valore del joystick in luminosità
# Sopra il centro: aumenta luminosità
# Sotto il centro: diminuisce luminosità
if valore_y > CENTRO_JOY:
# Mappa i valori da centro a max
luminosita = int(((valore_y - CENTRO_JOY) / (MAX_JOY - CENTRO_JOY)) * 65535)
else:
# Mappa i valori da min a centro
luminosita = int((valore_y / CENTRO_JOY) * 65535)
# Imposta la luminosità del LED
led.duty_u16(luminosita)
# Piccolo ritardo per stabilità
time.sleep(0.01)