[英]Trying to create a timer to pause a loop in python
在这里,我 go 再次弄乱计时器和运动传感器。
我有一个 PIR 运动传感器连接到树莓派。 我想让运动传感器在再次检查运动之前有一分钟的冷却时间。 我一直在搞一些穿线......但我认为我不需要这样做并且希望保持简单。
GPIO.setmode(GPIO.BCM)
PIR_PIN = 11
GPIO.setup(PIR_PIN, GPIO.IN)
motion_cooldown = 60
start = 0
while True:
if(time.time() < start + motion_cooldown):
print("cooldown")
else:
if PIR_PIN == 1:
print("motion detected")
#do some stuff
start = time.time()
elif PIR_PIN == 0:
print("no motion")
#do some stuff
start = 0 #reset start to 0 so the loop continues
我得到的当前错误是“'builtin_function_or_method 和 int 的实例之间不支持'<'”我认为这意味着我无法比较 int 和 time.time() 但我发誓之前做过类似的事情并且它有效美好的。 欢迎任何建议!
如果您没有调用 function,则可能会发生这种情况,也就是说,当您执行类似start = time.time
的操作时,但您的代码不会那样做,而且它不可重现。 要暂停循环,您可以在while
循环结束时使用time.sleep(60)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.