我通过覆盆子pi上的python检测到ttp223b触摸传感器的触摸。它工作得很好,但我需要等待一秒钟后触摸检测,以防止多次执行,所以我只是添加了“time.sleep(1)”。
问题是我也得到多个输出,它们只是时间偏移到1秒,似乎该例程一次触发多次。
import time
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(3, GPIO.IN)
while 1:
if GPIO.input(3) == GPIO.HIGH:
print "touched :3"
time.sleep(1)
我有什么建议可以解决这个问题吗?
答案 0 :(得分:0)
添加一个sentinal
last_update = 0
while 1:
if time.time() - last_update > 1.5 : #1 and a half seconds
if GPIO.input(3) == GPIO.HIGH:
print "touched :3"
这将允许GPIO继续刷新,这样你就不会接受旧版本(至少我认为我不完全确定GPIO如何在这里缓冲工作)