我使用 Raspberry Pi 上的 GPIO 引脚和 PIR 传感器来检测运动。当传感器检测到运动时,我想将软件移动到其他功能上。
目前,为了检测运动,我的程序在等待检测运动时不断循环运行。虽然这目前有效,但对于将来的使用来说,这将是非常低效的,我希望通过将其分配给一个事件来改进这一点。
有什么方法可以将我的 GPIO 输入绑定到程序检测到的事件,而无需手动运行循环。
这是我当前用于检测运动的循环:
var = 1
counter = 0
while var == 1:
if GPIO.input(7):
counter += 1
time.sleep(0.5)
else:
counter = 0
time.sleep(1)
if counter >= 3:
print "Movement!"
captureImage()
time.sleep(20)
计数器和多次检测运动用于减少传感器拾取的误报数量。