实验二:RGB彩灯实验
来自丢石头百科
Yousimaier17(讨论 | 贡献)2024年12月5日 (四) 10:54的版本
Arduino
实验现象
- RGB模块实现酷炫的灯光效果
实验原理
- 通过 R、G、B 三个引脚的PWM电压输入可以调节三种基色(红/蓝/绿)的强度从而实现全彩的混色效果
电路连接
主要程序
int red = 3; //select the pin for the red LED int green = 5; // select the pin for the blue LED int blue = 6; // select the pin for the green LED int val; void setup() { pinMode(red,OUTPUT); pinMode(green,OUTPUT); pinMode(blue,OUTPUT); } void loop() { for(val=255; val>0; val--) { analogWrite(red,val); analogWrite(blue,128-val); analogWrite(green,255-val); delay(1); } for(val=0; val<255; val++) { analogWrite(red,val); analogWrite(blue,128-val); analogWrite(green,255-val); delay(1); } }
树莓派
电路连接
程序运行
Python
- 安装gpiozero库
- 可以使下面命令来安装该库
sudo apt update sudo apt install python3-gpiozero
- 其它树莓派上的系统可以使下面命令来安装该库:
sudo pip3 install gpiozero
- 运行以下语句可以查看树莓派GPIO口定义
pinout
- 下载树莓派参考例程,将文件解压后拷贝放在用户名目录下,运行
cd /home/pi/raspberrypi/2/python_gpiozero python RGB.py
- 此时可看见树莓派在正确运行RGB程序,若想中断程序,按ctrl+C即可
- 指令说明:'gpiozero.RGBLED(red, green, blue, active_high, initial_value, pwm)
- 主要参数:
- red:控制RGB LED红色分量的GPIO引脚
- green:控制RGB LED的绿色分量的GPIO引脚
- blue:控制RGB LED的蓝色分量的GPIO引脚
- active_high:
- 共阴极RGB LED设置为True(默认值)。
- 共阳极RGB LED则设置为False。
- initial_value:
- RGB LED的初始颜色。默认为黑色(0,0,0)
- pwm:
- 如果为True(默认值),则为RGBLED的每个组件构造PWMLED实例。
- 如果为False,则构造常规LED实例。这会阻止平滑的颜色渐变。
- 更多指令请查看gpiozero文档