我正在用python编写程序,其中在特定时间移动伺服器是该项目的关键部分。为此,我正在使用pyfirmata库。
我尝试了两种延迟方法,但是似乎都没有。 当我运行代码时,伺服器第一次转动,但是在延迟之后,它没有转动,程序只是停止了,而不是将伺服器移至0度并然后停止。>
这是在pyfirmata库中内置有board.pass_time()的代码:
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
如果有人可以提供帮助,我将非常感激。
谢谢你, 大卫
答案 0 :(得分:0)
我找到了答案!
也许会有更好的答案,但是如果我将board.get_pin('d:9:s')
写为board.get_pin('d:9:')
,就像这样,我需要用0到5而不是0到360的值来控制它,但是延迟起作用了>
答案 1 :(得分:0)
您的代码正确,但是您需要再次进行延迟以将其恢复为0度。因此,您的代码应如下所示。
<div id="divID">
<div id="bad">
<iframe id="iframeID">
<div id="bad2">
<p>Hello World</p>
</div>
</iframe>
</div>
</div>
每次更改伺服电机时都需要延迟,以进行更改