设为首页收藏本站

arduino 单片机机器人爱好者之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8856|回复: 3

Arduino入门教程—拓展实验篇四 点亮全彩LED

[复制链接]

签到天数: 469 天

[LV.9]以坛为家II

发表于 2013-6-17 09:28:06 | 显示全部楼层 |阅读模式
本帖最后由 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 混色值。

RGB灯.jpg

了解原理之后,我们要准备3 个220 欧姆电阻,全彩LED 和普通灯一样也需要限流,下面连接图:
RGB灯实验.jpg

LED 灯红绿蓝引脚分别接D11、D10、D9 端口,共阴极接GND,接着三个端口是为了用PWM 调色;

下面我们看下程序:

  1. /*
  2. 点亮全彩LED灯,并让其不停变换七中色彩
  3. 电路:最长引脚接GND,其他3个引脚分别接D9,D10,D11
  4. */
  5. //定义 LED 引脚号
  6. int R_led = 11;
  7. int G_led = 10;
  8. int B_led = 9;

  9. void setup() {
  10. //初始化数字引脚9,10,11为输出
  11. pinMode(R_led,OUTPUT);
  12. pinMode(G_led,OUTPUT);
  13. pinMode(B_led,OUTPUT);
  14. }
  15. void loop() {
  16. // 混色显示:赤橙黄绿青蓝紫白
  17. // 赤
  18. analogWrite(R_led,255);
  19. analogWrite(G_led,0);
  20. analogWrite(B_led,0);
  21. delay(1000);
  22. // 橙
  23. analogWrite(R_led,250);
  24. analogWrite(G_led,128);
  25. analogWrite(B_led,0);
  26. delay(1000);
  27. // 黄
  28. analogWrite(R_led,255);
  29. analogWrite(G_led,255);
  30. analogWrite(B_led,0);
  31. delay(1000);
  32. // 绿
  33. analogWrite(R_led,0);
  34. analogWrite(G_led,255);
  35. analogWrite(B_led,0);
  36. delay(1000);
  37. // 青
  38. analogWrite(R_led,0);
  39. analogWrite(G_led,255);
  40. analogWrite(B_led,255);
  41. delay(1000);
  42. // 蓝
  43. analogWrite(R_led,0);
  44. analogWrite(G_led,0);
  45. analogWrite(B_led,255);
  46. delay(1000);
  47. // 紫
  48. analogWrite(R_led,139);
  49. analogWrite(G_led,0);
  50. analogWrite(B_led,255);
  51. delay(1000);
  52. // 白
  53. analogWrite(R_led,255);
  54. analogWrite(G_led,255);
  55. analogWrite(B_led,255);
  56. delay(1000);
  57. }
复制代码

程序中用PWM 设定RGB 各颜色的值,从而混搭出各种颜色;根据3基色原理,你还可以混搭出各种你想要的颜色~~
PS:三基色原理内容
⑴自然界中的绝大部分彩色,都可以由三种基色按一定比例混合得到;反之,任意一种彩色均可被分解为三种基色。
⑵作为基色的三种彩色,要相互独立,即其中任何一种基色都不能由另外两种基色混合来产生。
⑶由三基色混合而得到的彩色光的亮度等于参与混合的各基色的亮度之和。
⑷三基色的比例决定了混合色的色调和色饱和度。

本帖被以下淘专辑推荐:

签到天数: 3 天

[LV.2]偶尔看看I

发表于 2016-7-5 23:10:28 | 显示全部楼层
请问共阳RGBLED怎么改程序呢

点评

接线修改下,程序只要改数值就应该可以了  发表于 2016-7-7 10:58
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|联系我们|YFRobot ( 苏ICP备13017135  

GMT+8, 2017-6-26 01:25 , Processed in 0.409605 second(s), 29 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表