#导入库
from machine import Pin, PWM
import time
# 舵机控制引脚,可根据实际情况修改
servo_pin = Pin(15)
# 创建 PWM 对象,频率通常设为 50Hz 来控制舵机
servo = PWM(servo_pin, freq=50)
# 函数用于设置舵机角度
def set_servo_angle(angle):
# 舵机的脉冲宽度通常在 500 - 1500 微秒之间对应 0 - 180 度
#舵机信号周期为20ms,通常0.5ms,1.5ms,2.5ms分别对应0,90,180度
#由于PWM函数改变周期后取值范围仍然是0~1023,所以角度映射函数如下
#duty取值范围0~1023的条件下,0~180对应的取值为25.575~127.875(差值:102.3)
min_duty=25
max_duty=127
duty = int((angle / 180 * (max_duty-min_duty)) + min_duty)
servo.duty(duty)
#time.sleep(0.01)