freenove_car/Code/Server/servo.py

43 lines
944 B
Python

import time
from PCA9685 import PCA9685
class Servo:
def __init__(self):
self.PwmServo = PCA9685(0x40, debug=True)
self.PwmServo.setPWMFreq(50)
self.PwmServo.setServoPulse(8,1500)
self.PwmServo.setServoPulse(9,850)
def setServoPwm(self,channel1,channel2,angle1,angle2,error=10):
if channel1==1:
self.PwmServo.setServoPulse(8,2500-int((angle1+error)/0.09))
else:
pass
if channel2==1:
self.PwmServo.setServoPulse(9,500+int((angle2+error)/0.09))
else:
pass
pwm=Servo()
def loop():
for i in range(180):
pwm.setServoPwm(1,0,i,0)
time.sleep(0.01)
for i in range(180,0,-1):
pwm.setServoPwm(1,0,i,0)
time.sleep(0.01)
def destroy():
pwm.setServoPwm(1,1,90,20)
# Main program logic follows:
if __name__ == '__main__':
pwm.setServoPwm(1,1,90,20)