from machine import Pin, PWM
from time import sleep
# Initialize PWM on GPIO 16
servo = PWM(Pin(16))
servo.freq(50) # 50Hz for servo
# Function to set angle
def set_angle(angle):
duty = int(500 + (angle / 180) * 1900) # 500 to 2500 µs
servo.duty_u16(int(duty * 65535 / 20000))
while True:
for angle in range(0, 181, 10):
set_angle(angle)
sleep(0.5)
for angle in range(180, -1, -10):
set_angle(angle)
sleep(0.5)
set_angle(0)
sleep(1)
set_angle(90)
sleep(1)
set_angle(180)
sleep(1)