Arduino篇—RGB彩灯的应用控制

电子说

1.3w人已加入

描述

课程目标

  • 光的三原色
  • RGB彩灯的工作原理
  • 模拟输入和模拟输出的综合应用

相关知识

光的色散: 太阳光通过三菱镜,被分解成彩色光带的现象,是1666年由英国物理学家牛顿首先发现的。

电位器

**光的三原色:**七种色光中只有红、绿、蓝三种色光无法被分解,而其他四种颜色的光均可由这三种色光以不同比例相合而成。于是红、绿、蓝被称为“三原色光”或“光的三原色”。后经证实:红、绿、蓝这三种颜色的组合,几乎能形成所有的颜色。

电位器

光的组合:

红+绿=黄;绿+蓝=青;红+蓝=品红;红+绿+蓝=白。

RGB彩灯:

有直插式和贴片式,从原理上可以理解为将三种颜色的LED组合到了一起。

根据其原理,分为共阳极和共阴极。

电路搭建

所需材料

Arduino UNO * 1
共阴极RGB彩灯 * 1
可调电位器 * 3
杜邦线若干

接线方式

普通的发光二极管(LED灯)只有两个管脚,一个长脚一个短脚,其中长脚接电源正极,短脚接电源负极。

而四个管脚的这里面有三个LED灯珠,其中一个脚是三个LED灯的公共部分,另外三个脚就是对应每个LED灯的第二个管脚,这种RGB LED灯也有共阴极和共阳极之分,对于共阳极的RGB LED灯来说,四个管脚中最长的那个管脚为阳极,也就是接到电源的正极,参考图片如下。

电位器

电位器
根据上面所描述的特性,电路接线如下:

电位器

程序编写

课堂练习:红绿灯

试着编写一个由RGB灯制作的红绿灯。要求实现红灯亮10秒,绿灯亮10秒,黄灯闪烁3秒(闪烁间隔为500毫秒)。

图形化方式:

电位器

程序功能实现上面,首先创建了四个函数,分别为亮红灯、绿灯、黄灯和关闭。RGB彩灯可以通过改变输入电压来控制灯光颜色,也就是通过调整模拟输入来实现不同颜色的灯光显示。

这里的黄色的RGB值为255,255,0。同学们可以通过修改R和G的值来改变黄色的色度。

代码方式:

/* 项目名称:RGB红绿灯
 * 项目时间:2022.02.21
 * 项目作者:MRX
 */
int led_R = 9;
int led_G = 10;
int led_B = 11;
void red(){
  analogWrite(led_R,255);
  analogWrite(led_G,0);
  analogWrite(11,0);
}
void green(){
  analogWrite(led_R,0);
  analogWrite(led_G,255);
  analogWrite(led_B,0);
}
void yellow() {
  analogWrite(led_R,255);
  analogWrite(led_G,255);
  analogWrite(led_B,0);
}
void closed() {
  analogWrite(led_R,0);
  analogWrite(led_G,0);
  analogWrite(led_B,0);
}
void setup() {
  pinMode(led_R,OUTPUT);
  pinMode(led_G,OUTPUT);
  pinMode(led_B,OUTPUT);
}
void loop() {
  red();
  delay(7000);
  green();
  delay(7000);
  for (int i = 0; i <= 2; i = i + (1)) {
    yellow();
    delay(500);
    closed();
    delay(500);
  }
}

课后练习

使用三个可调电位器,实现可以调色的RGB彩灯。

电位器

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分