电子说
课程目标
相关知识
光的色散: 太阳光通过三菱镜,被分解成彩色光带的现象,是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彩灯。
全部0条评论
快来发表一下你的评论吧 !