This repository has been archived on 2025-06-01. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
compLIB/compLib/Servo.py
Konstantin Lampalzer daef7c97e4
Rename folder
2021-01-16 02:10:40 +01:00

30 lines
794 B
Python

from compLib.PCA9685 import PCA9685
pwm = PCA9685(0x40, debug=True)
pwm.setPWMFreq(50)
class Servo:
"""Control the servo ports on the robot
"""
@staticmethod
def set_position(channel: int, angle: int):
"""Set position of servo connected to port
:param channel: channel between 0 and 7
:param angle: Angle of servo
"""
angle = abs(angle)
if channel == 0:
pwm.setServoPulse(8 + channel, 2500 - int(angle / 0.09))
elif channel < 8:
pwm.setServoPulse(8 + channel, 500 - int(angle / 0.09))
@staticmethod
def setup_position():
"""Set position of servos to the position used during the setup process
"""
pwm.setServoPulse(8, 1500)
pwm.setServoPulse(9, 1500)