实验二:RGB彩灯实验

来自丢石头百科
Yousimaier17讨论 | 贡献2024年12月5日 (四) 10:54的版本

Arduino

实验现象

  • RGB模块实现酷炫的灯光效果

实验原理

  • 通过 R、G、B 三个引脚的PWM电压输入可以调节三种基色(红/蓝/绿)的强度从而实现全彩的混色效果

电路连接

  • 实验二:RGB彩灯实验 接线1.png

主要程序

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); 
   }
}

树莓派

电路连接

  • 实验二:RGB彩灯实验 接线2.png

程序运行

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文档

例程下载

相关例程

Arduino和树莓派基础实验套件例程
教程名2
  • 列表2
教程名3
  • 列表3
教程名4
  • 列表4
教程名5
  • 列表5
教程名6
  • 列表6