from machine import Pin, PWM, ADC
from time import sleep
# Servo on GP15
servo = PWM(Pin(17))
servo.freq(50)
# Potentiometer on ADC0 (GP26)
pot = ADC(28)
# Function to set servo angle
def set_angle(angle):
duty = int(1638 + (angle / 180) * (8192 - 1638)) # for 0.5ms–2.5ms pulse width
servo.duty_u16(duty)
while True:
pot_val = pot.read_u16() # Range: 0 to 65535
angle = (pot_val / 65535) * 180 # Map to 0–180 degrees
set_angle(angle)
print("Angle:", int(angle))
sleep(0.05)
Loading
pi-pico-w
pi-pico-w