我有一个代码可以使电机 运行 然后睡眠,然后再次 运行,但无法让它工作

I have a code to make a motor run then sleep, then run again, but can't get it to work

我需要做一个马达运行一段时间,休眠一段时间,然后重复做一个无限循环

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')