from machine import Pin, PWM class Servo: def __init__(self, pin): self.pwm = PWM(Pin(pin)) self.pwm.freq(50) self.min_duty = 1638 # ~0.5 ms self.max_duty = 8192 # ~2.5 ms def angle(self, deg): deg = max(0, min(180, deg)) duty = int(self.min_duty + (deg / 180) * (self.max_duty - self.min_duty)) self.pwm.duty_u16(duty) def off(self): self.pwm.duty_u16(0)