fusion_hat.servo module
Servo motor class
Example
Simple usage:
>>> from fusion_hat.servo import Servo
>>> servo = Servo(0)
>>> servo.angle(-90)
>>> servo.angle(0)
>>> servo.angle(90)
Change the angle range:
>>> servo = Servo(0, min=0, max=180)
>>> servo.angle(0)
>>> servo.angle(180)
Add offset:
>>> servo = Servo(0, offset=10.0)
>>> servo.angle(0)
>>> servo.angle(90)
- class fusion_hat.servo.Servo(channel: int, offset: float | None = 0.0, min: float | None = -90, max: float | None = 90, *args, **kwargs)[source]
Bases:
PWMServo motor class
- Parameters:
channel (int/str) – PWM channel number(0-14/P0-P14)
offset (float, optional) – offset value(-20.0~20.0), leave it None to use default offset, defaults to 0.0
min (float, optional) – minimum angle(-90~90), leave it None to use default min angle, defaults to -90
max (float, optional) – maximum angle(-90~90), leave it None to use default max angle, defaults to 90
*args – Pass to
fusion_hat.pwm.PWM**kwargs – Pass to
fusion_hat.pwm.PWM
- MAX_PW = 2500
- MIN_PW = 500
- FREQ = 50
- offset(offset: float | None = None) float[source]
Set the offset of the servo motor
- Parameters:
offset (float, optional) – offset value(-20.0~20.0), leave it None to get the offset value, defaults to None
- Returns:
offset value(-20.0~20.0) if offset is None, else None
- Return type:
float