水文大师,粉墨登场。今日一水接触式的压力传感器的脱敏问题。这个东西的应用其实在一些一次性用具的专利里面都有它的影子。此处主要是为了留一个持续监听读取gpio state的方式。另一个是关于如何让装置的灵敏度不要太高,此处其实就是下面add_event_detect函数中的参数bouncetime在起作用,调大点就好。另外吐槽树莓派这上面的gpio pin针表现是不稳定的。比如BCM模式下的GPIO17就很好,用GPIO26就呵呵。pinout图中显示 它们其实都是作为单一功能的GPIO pin,这种相对不稳定表现会很容易让人debug起来困惑。不过也正常,毕竟就是作为亲民的实验板子在生产。
import RPi.GPIO as GPIO
import time
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
INPUT_PIN=17
GPIO.setup(INPUT_PIN, GPIO.IN,pull_up_down=GPIO.PUD_UP)
def inputLow(channel):
print("Button pressed")
GPIO.add_event_detect(INPUT_PIN, GPIO.FALLING,
callback=inputLow,bouncetime=4000)
while True:
print("Not pressed")
time.sleep(1)