我正在使用连接到树莓派和外部电源的MG 996R伺服器。我正在使用此代码:
import RPi.GPIO as GPIO
import time
servoPIN = 17
GPIO.setmode(GPIO.BCM)
GPIO.setup(servoPIN, GPIO.OUT)
p = GPIO.PWM(servoPIN, 50) # GPIO 17 for PWM with 50Hz
p.start(2.5) # Initialization
try:
while True:
p.ChangeDutyCycle(5)
time.sleep(0.5)
p.ChangeDutyCycle(7.5)
time.sleep(0.5)
p.ChangeDutyCycle(10)
time.sleep(0.5)
p.ChangeDutyCycle(12.5)
time.sleep(0.5)
p.ChangeDutyCycle(10)
time.sleep(0.5)
p.ChangeDutyCycle(7.5)
time.sleep(0.5)
p.ChangeDutyCycle(5)
time.sleep(0.5)
p.ChangeDutyCycle(2.5)
time.sleep(0.5)
except KeyboardInterrupt:
p.stop()
GPIO.cleanup()
但是我得到的只是一个持续的轮换,并且随机变慢了一些。 我的目标是能够旋转+90度和-90度。
最好的问候。
答案 0 :(得分:1)
已被修改为连续旋转。这意味着您发送的不是设置角度,而是设置旋转的方向和速度。
我怀疑您拥有这些改装的舵机之一。
奇怪的是,Some MG996R servos的某人在使用相同类型的伺服器时遇到了相反的问题。