class Servo – 3-wire hobby servo driver

Constructors

class pyb.Servo(id)

Create a servo object. id is 1-2, and corresponds to pins P6 through P7.

On the OpenMV Cam M7 P9 exposes an additional Servo(3) channel.

Methods

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 center/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.