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对应的脉宽。