Servo类 –三线hobby舵机驱动¶
伺服对象使用三条线(地线、电源线、信号线)控制标准hobby伺服电机。Pyboard上有4处电机可插入的位置:引脚X1到X4为信号引脚,其旁为4组电源和接地引脚。
用法示例:
import pyb
s1 = pyb.Servo(1)   # create a servo object on position X1 在X1位置创建一个伺服对象
s2 = pyb.Servo(2)   # create a servo object on position X2 在X2位置创建一个伺服对象
s1.angle(45)        # move servo 1 to 45 degrees 将伺服1移动到45度
s2.angle(0)         # move servo 2 to 0 degrees 将伺服2移动到0度
# move servo1 and servo2 synchronously, taking 1500ms 同时移动伺服1和伺服2,耗时1500ms
s1.angle(-60, 1500)
s2.angle(30, 1500)
注解
伺服对象使用定时器(5)来生成PWM输出。您可将定时器(5)用于伺服控制或您的个人用途,但二者不能同时进行。
构造函数¶
- 
class pyb.Servo(id)
- 创建一个伺服对象。 - id为1-4,与引脚X1至X4相对应。
- 
class pyb.Servo(id)
- 创建一个伺服对象。 - id为1-4,与引脚P13,P14,P15,P19相对应。
- 
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对应的脉宽。