Servo类 – 三线hobby舵机驱动¶
Servo对象控制三线(地线,电源,信号)的标准hobby伺服电机。 (ground, power, signal).
使用示例
import pyb
s1 = pyb.Servo(1) # create a servo object on position X1
s2 = pyb.Servo(2) # create a servo object on position X2
s1.angle(45) # move servo 1 to 45 degrees
s2.angle(0) # move servo 2 to 0 degrees
# move servo1 and servo2 synchronously, taking 1500ms
s1.angle(-60, 1500)
s2.angle(30, 1500)
备注
Servo对象使用 Timer(5) 产生PWM输出。您可以使用 Timer(5) 进行伺服控制,也可以自己使用,但不能同时使用。
构造函数¶
- class pyb.Servo(id)¶
创建一个伺服对象。
id
为1-3,与引脚P7至P9相对应。
方法¶
- Servo.angle([angle, time=0])¶
若未给定参数,该函数返回当前角度。
若给定函数,该函数设置servo的角度:
angle
是度数计的移动的角度。time
是达到指定角度所用的毫秒数。若省略,则servo会尽快移动到新的位置。
- Servo.speed([speed, time=0])¶
若未给定参数,该函数会返回当前速度。
若给定参数,该函数设置servo的速度:
speed
是改变的速度,取值100-100。time
是达到指定角度所用的毫秒数。若省略,则servo会尽快加速。
- Servo.pulse_width([value])¶
若未给定参数,该函数会返回当前的原始脉宽值。
若给定参数,该函数设置原始脉宽值。
- Servo.calibration([pulse_min, pulse_max, pulse_centre[, pulse_angle_90, pulse_speed_100]])¶
若未给定参数,这个函数返回当前的5元组校准数据。
若给定参数,该函数设定计时校准:
pulse_min
是允许的最小脉宽。pulse_max
是允许的最大脉冲。pulse_centre
是中心/零位置对应的脉宽。pulse_angle_90
是90度对应的脉宽。pulse_speed_100
是速度100对应的脉宽。