我的树莓派型号:Raspberry Pi 2 Model B V1.1 装机系统:NOOBS v1.9.2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
|
代码讲解:
global ledStatus
:http://c.biancheng.net/cpp/html/1827.htmlGPIO.add_event_detect(24, GPIO.RISING, callback=my_callback)
:给24
引脚添加一个事件函数,触发条件是:捕获到上升沿(GPIO.RISING
)。这个参数还可以是:GPIO.FALLING
(下降沿)、GPIO.BOTH
(两者都有)except KeyboardInterrupt:
是用来捕获用户是否按了Ctrl + C
组合键。退出程序GPIO.cleanup()
:之前都没有使用过这个函数。这个函数的功能是:jaingaobo所有的GPIO还原回初始输入状态。我们建议在使用RPi.GPIO模块的所有Python程序的最后,都写上这个函数。
现在这个程序我们来运行一下:
1 2 |
|
现在的运行效果就已经很好的,即使我们上面写的程序脚本里面没有编写按键去抖的相关程序,并且我们也没有安装硬件去抖的电容。但是为了安全起见,我们还是应该摆去抖的程序给它加上。
对于中断模式的检测按键,我们给这种程序添加去抖程序,相当的简单,我们只需要将上面的程序中的这行语句:
1
|
|
修改为:
1
|
|
其中bouncetime=200
是延时200ms的意思。就是当检测到上升沿后,进入这个中断,要延时200ms才会执行这个中断里面的程序。
这就是软件去抖。
搞定
参考网站:https://sourceforge.net/p/raspberry-gpio-python/wiki/Inputs/