Traffic-lights
电路连接
【元件实物图】
- 图1为Button,按钮的状态控制SIG引脚的电平值。
- 图2为RGB灯,有三种颜色:R-red、G-green、B-blue。三种颜色需由不同的GPIO引脚控制
- 图3为连接好按钮、RGB灯的树莓派
【GPIO引脚连线图】
【模拟连线图】
为了方便连接,RGB LED灯的三个引脚接GPIO 2、3、4,GND接GND。按钮的SIG引脚接GPIO 17, GND接GND。
代码实现
算法设计流程图
python环境配置
-
在Vscode中使用SSH连接树莓派
-
按Ctrl+Shift+~调用bash
-
在命令行中输入
python -m venv myenv
创建虚拟环境,其中myenv是自定义的虚拟环境名称
谢谢杨老板抓虫…之前写成pip了 -
在命令行中输入
source myenv/bin/activate
激活虚拟环境 -
在本次实验中需要安装以下包:
激活虚拟环境后输入以下命令安装包 pip install gpiozero pip install rpi-gpio pip install lgpio
-
在命令行中输入
deactivate
退出虚拟环境
三色呼吸灯实现
为了实现呼吸灯,首先需要控制灯的亮度实现渐变。TrafficLights类提供参数pwm,使用PWM 调光实现亮度的渐变。PWM调光的原理如下图所示。通过占空比来改变电子元件的功率。
因此可以写出代码如下,实现效果为:RGB灯以红、绿、蓝的颜色顺序循环呼吸,每个颜色呼吸3秒