Python / Raspberry Pi:BCM引脚永久性地提供高信号

时间:2017-05-13 13:39:54

标签: python raspberry-pi gpio

我正在编写一个脚本,允许您按下3个按钮并控制另一个人的LED通过MQTT。 我检查按钮是否被按下的方式是通过中断/ add_event_detect:

io.add_event_detect(btn1,io.FALLING,callback=lambda *a: snd_msg(1),bouncetime=500)
io.add_event_detect(btn2,io.FALLING,callback=lambda *a: snd_msg(2),bouncetime=500)
io.add_event_detect(btnMaster,io.FALLING,callback=lambda *a: snd_msg(3),bouncetime=500)

前两个工作正常,但第三个工作没有任何按钮被永久调用。 这是他们目前正在使用的引脚:

btn1 = 2 #red
btn2 = 3 #yellow
btnMaster = 18 #green
io.setmode(io.BCM)
io.setup(btn1, io.IN)
io.setup(btn2, io.IN)
io.setup(btnMaster, io.IN) 

我也试过针对btnMaster的针脚4但是得到了相同的结果。我猜这与BCM模式下引脚2和3的上拉有关,但我真的不知道如何解决这个问题。

这是我运行脚本时的输出: output picture

如有必要,我可以提供更多代码。

1 个答案:

答案 0 :(得分:0)

我找到了答案,所以我想我也会在这里发布。 它确实是引脚,因为引脚2和2。 BCM模式下的3有一个1.8 kOhms的内置上拉电阻。 我基本上只是通过这个tutorial连接了主按钮,这个按钮让我遇到了上拉电阻问题。