我需要使电动机运行一段时间,入睡一段时间,然后重复进行无限循环

from adafruit_motorkit import MotorKit
import time

kit = MotorKit()

while True:
    endtime = time.time() + 60 # runs motor for 60 seconds
    while time.time() < endtime:
            kit.motor1.throttle = 1
            pass
    print('endtime passed')
    time.sleep(10)
    print('done sleeping')

我希望电动机运转一分钟,给出endtime passed消息,并休眠10秒钟,但电动机永不休眠。我是python的新手,所以对此我不太了解,因此不胜感激。

最佳答案

您需要在调用time.sleep之前将油门设置回0。time.sleep将仅在给定时间内暂停该过程,您需要明确告知电动机停止运动。

例:

while True:
    endtime = time.time() + 60 # runs motor for 60 seconds
    while time.time() < endtime:
            kit.motor1.throttle = 1
            pass
    print('endtime passed')
    kit.motor1.throttle = 0
    time.sleep(10)
    print('done sleeping')

同样,您也不必忙于等待电动机运行60秒钟,您只需在电动机上设置油门,然后调用time.sleep即可:
from adafruit_motorkit import MotorKit
import time

kit = MotorKit()

while True:
    print('running motor')
    kit.motor1.throttle = 1
    time.sleep(60)

    print('pausing 10 seconds')
    kit.motor1.throttle = 0
    time.sleep(10)
    print('done sleeping')

关于python-3.x - 我有一个代码可以使电动机运行,然后进入休眠状态,然后再次运行,但是无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57361828/

10-11 18:44