from machine import Pin, PWM, ADC
import utime
# Setup one knob and one servo
knob1 = ADC(Pin(26))
servo1 = PWM(Pin(0))
servo1.freq(50)
knob2 = ADC(Pin(28))
servo2 = PWM(Pin(2))
servo2.freq(50)
# Constants for servo movement
MIN_DUTY = 1638
MAX_DUTY = 8192
while True:
# Read the knob (0-65535)
val1 = knob1.read_u16()
val2 = knob2.read_u16()
# Map reading to servo range (1638-8192)
duty1 = int(MIN_DUTY + (val1 / 65535) * (MAX_DUTY - MIN_DUTY))
duty2 = int(MIN_DUTY + (val2 / 65535) * (MAX_DUTY - MIN_DUTY))
# Move the servo
servo1.duty_u16(duty1)
servo2.duty_u16(duty2)
utime.sleep(0.01)