1、实现要求
1.1、运用树莓派设计一个简单的按键控制LED灯点亮系统。通过树莓派控制器读取外部数字信 ,使用三个按键分别控制三种颜色的 LED灯,当有按键按下时对应的LED灯会点亮,按键松开后对应的LED灯则熄灭。
1.2、按下三个按键中的一个按键时,可以看到对应的一个LED灯会点亮;同时按下其中两个按键时,对应的两个LED灯会亮起;同时按下三个按键时则三个LED灯同时亮起。
2、涉及技术
2.1、树莓派的输入输出引脚控制
2.2、python 线程的基本操作
3、实现原理
3.1、RGB三色灯有四个引脚,高电平接3.3V,其它三个引脚对应三种色源,对应的引脚输入低电平时灯亮,输入高电平时灯灭。
3.2、轻触开关有两组共4个脚,每组的2根脚是互相联通,电会从这俩脚里流过,按钮的作用就是按下去电路就联通了,否则就断开。
3.3、GPIO有个input模式,如果输入电流到GPIO口,那么编程读取GPIO返回HIGH,如果没有输入电流则返回LOW,从而我们可以检测到按钮的状态变化。
3.4、多线程类似于同时执行多个不同程序,使用线程可以把占据长时间的程序中的任务放到后台去处理。
系统主要由树莓派、3个轻触开关和3个RGB灯组成,树莓派是整个系统的核心,通过检测按键的开关状态控制相应灯的亮灭。
5、硬件连接
5.1、实物连接图:
5.2、连接原理图:
6、实现步骤
6.1、初始化引脚
设置引脚编 模式为BCM,按键对应引脚为输入模式并使用软件下拉模式,RGB灯相应引脚设为输出模式,并初始化为高电平。
6.2、新建一个线程事件,监听按键状态
6.3、在主线程里开启三个按键对应的线程
7、运行结果
7.1、按下一个按钮时,对应的RGB灯点亮
7.2、按下两个按钮时,对应的两个RGB灯点亮
7.3、按下三个按键时,三个RGB灯都点亮
8、实验总结
1、GPIO输入安全电压应该是3.3V,因此按键使用树莓派的3.3V供电口而不是5V;
2、GPIO引脚悬空时,受周遭环境干扰可能产生微弱电流,导致GPIO输入时高时低,因此程序需要开启GPIO口的下拉或上拉模式。
文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树首页概览208180 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!