Я нашел решение, которое заставляет сервопривод шаг за шагом достигать желаемого угла, но это зависит от текущего угла сервопривода. это код:
if servo_current angle > servo_desired_angle :
while(x=true) :
servo_current_angle -=1
duty_cycle = (((12.5-2.5)/(180-0) * servo_current_angle) +2.5
p.ChangeDutyCycle (duty_cycle)
time.sleep(0.01)
if servo_current angle = servo_desired_angle :
x = false
elif servo_current_angle < servo_desired_angle :
while(x=true) :
servo_current_angle +=1
duty_cycle = (((12.5-2.5)/(180-0) * servo_current_angle) +2.5
p.ChangeDutyCycle (duty_cycle)
time.sleep(0.01)
if servo_current angle = servo_desired_angle :
x = false
проблема в том, как узнать servo_current_angle?