我有一个代码可以使电动机运行,然后进入睡眠状态,然后再次运行,但是无法正常工作

时间:2019-08-05 15:36:14

标签: python-3.x adafruit

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

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的新手,所以对此我不太了解,因此不胜感激。

1 个答案:

答案 0 :(得分:2)

您需要在调用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')