YFROBOT创客社区
标题: Arduino入门教程—拓展实验篇四 点亮全彩LED [打印本页]
作者: AllBlue 时间: 2013-6-17 09:28
标题: Arduino入门教程—拓展实验篇四 点亮全彩LED
本帖最后由 AllBlue 于 2013-8-29 16:15 编辑
点亮全彩LED单色LED 颜色太单调,这次实验我们使用RGB 全彩LED,它被称为全彩LED,当然就可以显示多种颜色了,它其实就是利用三原色光学原理(所有颜色均可以用三原色红、绿、蓝按照一定比例混合出来)能够近似调出几乎所有人眼可见色彩光线,所以人们也称它为“LED 幻彩灯”。
这种LED 灯在生活中已经是随处可见了,广告灯等等;当然生活中的应用也是因为它的多种优点;
全彩LED 灯有以下4 个主要特点:
1)专业的LED 照明白光:柔和/护眼/不闪烁/接近自然光
2)全彩:可调配多种颜色(目前能调1600 多万种绚丽色彩)
3)智能:可遥控调灯光颜色/调亮度/开关灯/定时
4)节能环保,使用寿命长
下面是本次实验使用的5mm 全彩共阴极LED,如下图(图中可以看到全彩LED 有4 个引脚,他们分别代表红、共阴、绿和蓝引脚);本人对颜色的混色也是不太懂,可以上网查找资料,当然如果你学过色彩,那今天的实验对你来说应该是很简单的了,图中是网上找到的各种颜色的RGB 混色值。
[attach]485[/attach]
了解原理之后,我们要准备3 个220 欧姆电阻,全彩LED 和普通灯一样也需要限流,下面连接图:
[attach]486[/attach]
LED 灯红绿蓝引脚分别接D11、D10、D9 端口,共阴极接GND,接着三个端口是为了用PWM 调色;
下面我们看下程序:
- /*
- 点亮全彩LED灯,并让其不停变换七中色彩
- 电路:最长引脚接GND,其他3个引脚分别接D9,D10,D11
- */
- //定义 LED 引脚号
- int R_led = 11;
- int G_led = 10;
- int B_led = 9;
- void setup() {
- //初始化数字引脚9,10,11为输出
- pinMode(R_led,OUTPUT);
- pinMode(G_led,OUTPUT);
- pinMode(B_led,OUTPUT);
- }
- void loop() {
- // 混色显示:赤橙黄绿青蓝紫白
- // 赤
- analogWrite(R_led,255);
- analogWrite(G_led,0);
- analogWrite(B_led,0);
- delay(1000);
- // 橙
- analogWrite(R_led,250);
- analogWrite(G_led,128);
- analogWrite(B_led,0);
- delay(1000);
- // 黄
- analogWrite(R_led,255);
- analogWrite(G_led,255);
- analogWrite(B_led,0);
- delay(1000);
- // 绿
- analogWrite(R_led,0);
- analogWrite(G_led,255);
- analogWrite(B_led,0);
- delay(1000);
- // 青
- analogWrite(R_led,0);
- analogWrite(G_led,255);
- analogWrite(B_led,255);
- delay(1000);
- // 蓝
- analogWrite(R_led,0);
- analogWrite(G_led,0);
- analogWrite(B_led,255);
- delay(1000);
- // 紫
- analogWrite(R_led,139);
- analogWrite(G_led,0);
- analogWrite(B_led,255);
- delay(1000);
- // 白
- analogWrite(R_led,255);
- analogWrite(G_led,255);
- analogWrite(B_led,255);
- delay(1000);
- }
复制代码程序中用PWM 设定RGB 各颜色的值,从而混搭出各种颜色;根据3基色原理,你还可以混搭出各种你想要的颜色~~
PS:三基色原理内容
⑴自然界中的绝大部分彩色,都可以由三种基色按一定比例混合得到;反之,任意一种彩色均可被分解为三种基色。
⑵作为基色的三种彩色,要相互独立,即其中任何一种基色都不能由另外两种基色混合来产生。
⑶由三基色混合而得到的彩色光的亮度等于参与混合的各基色的亮度之和。
⑷三基色的比例决定了混合色的色调和色饱和度。
作者: MCU 时间: 2016-7-5 23:10
请问共阳RGBLED怎么改程序呢
作者: MCU 时间: 2016-7-8 21:43
谢谢:)
作者: wooden55 时间: 2018-2-18 18:57
楼主真厉害
欢迎光临 YFROBOT创客社区 (http://yfrobot.com.cn/) |
Powered by Discuz! X3.1 |