class Servo – 3-wire hobby servo driver ¶
Servo objects control standard hobby servo motors with 3-wires (ground, power, signal). There are 4 positions on the pyboard where these motors can be plugged in: pins X1 through X4 are the signal pins, and next to them are 4 sets of power and ground pins.
用法范例:
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)
注意
The Servo objects use Timer(5) to produce the PWM output. You can use Timer(5) for Servo control, or your own purposes, but not both at the same time.
构造函数 ¶
-
class
pyb.
Servo
( id ) ¶ -
Create a servo object.
id
is 1-4, and corresponds to pins X1 through X4.
方法 ¶
-
Servo.
angle
( [ angle , time=0 ] ) ¶ -
If no arguments are given, this function returns the current angle.
If arguments are given, this function sets the angle of the servo:
-
angle
is the angle to move to in degrees. -
time
is the number of milliseconds to take to get to the specified angle. If omitted, then the servo moves as quickly as possible to its new position.
-
-
Servo.
speed
( [ speed , time=0 ] ) ¶ -
If no arguments are given, this function returns the current speed.
If arguments are given, this function sets the speed of the servo:
-
speed
is the speed to change to, between -100 and 100. -
time
is the number of milliseconds to take to get to the specified speed. If omitted, then the servo accelerates as quickly as possible.
-
-
Servo.
pulse_width
( [ value ] ) ¶ -
If no arguments are given, this function returns the current raw pulse-width value.
If an argument is given, this function sets the raw pulse-width value.
-
Servo.
calibration
( [ pulse_min , pulse_max , pulse_centre [ , pulse_angle_90 , pulse_speed_100 ] ] ) ¶ -
If no arguments are given, this function returns the current calibration data, as a 5-tuple.
If arguments are given, this function sets the timing calibration:
-
pulse_min
is the minimum allowed pulse width. -
pulse_max
is the maximum allowed pulse width. -
pulse_centre
is the pulse width corresponding to the centre/zero position. -
pulse_angle_90
is the pulse width corresponding to 90 degrees. -
pulse_speed_100
is the pulse width corresponding to a speed of 100.
-