我需要使电动机运行一段时间,入睡一段时间,然后重复进行无限循环
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的新手,所以对此我不太了解,因此不胜感激。
答案 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')