Задержки между сервоприводами у пифирматов не работают - PullRequest
0 голосов
/ 24 февраля 2019

Я пишу программу на python, где перемещение сервоприводов в определенное время является важной частью проекта.Чтобы добиться этого, я использую библиотеку pyfirmata.

Я пробовал два метода задержек, но ни один из них, похоже, не работает.Когда я запускаю код, сервопривод поворачивается в первый раз, но после задержки он не поворачивается, и программа просто останавливается, вместо того, чтобы переместить сервопривод на 0 градусов и , затем остановка.

Это тот, у которого board.pass_time () встроен в библиотеку pyfirmata:

from pyfirmata import Arduino, util
import time
board = Arduino('COM3')
servo = board.get_pin('d:9:s')

servo.write(180)        #This works and turns the servo
time.sleep(1)
servo.write(0)          #This time the servo does not turn, then the program ends

А вот тот, у которого time.sleep ():

from pyfirmata import Arduino, util
board = Arduino('COM3')
servo = board.get_pin('d:9:s')

servo.write(180)        #This works and turns the servo
board.pass_time(1)
servo.write(0)          #This time the servo does not turn, then the program ends

Я был бы очень признателен, если бы кто-то мог помочь.

Спасибо, Дэвид

1 Ответ

0 голосов
/ 28 февраля 2019

Я нашел ответ!Возможно, будет лучший ответ, но если я напишу board.get_pin('d:9:s') как board.get_pin('d:9:'), например, мне нужно контролировать его со значением от 0 до 5 вместо 0 до 360, но задержки работают

...