原创 【雕爷学编程】Arduino动手做(64)---RGB全彩LED模块

2020-3-14 10:43 5177 24 3 分类: MCU/ 嵌入式 文集: 雕爷学编程

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来---小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料+代码+图形+仿真)实验六十四:5MM三色RGB全彩LED模块颜色执行器KY-016

RGB LED
白光LED 与 RGB LED 两者殊途同归,都是希望达到白光的效果,只不过一个是直接以白光呈现,另一个则是以红绿蓝三色混光而成。RGB灯是以三原色共同交集成像,此外,也有蓝光LED配合黄色荧光 粉,以及紫外LED配合RGB荧光粉,整体来说,这两种都有其成像原理。某些LED背光板出现的颜色特别清楚而鲜艳,甚至有高画质电视的程度,这种情形,正是RGB的特色,标榜红就是红、 绿就是绿、蓝就是蓝的特性,在光的混色上,具备更多元的特性。

RGB色彩模式
(也翻译为“红绿蓝”,比较少用)是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,所以RGB灯就是三种颜色组合出来的颜色,那么很多人都学过三原色吧,所以RGB也就是利用了三原色的原理来成色的,这样就能通过灯效颜色的强弱混合来组成任何颜色及绚丽多彩的各种颜色灯效了。尤其是在内存条上的RGB灯条上尤为突出的展现出来了,一般RGB灯条都是渐变色或者是三种主色,然后混合区会变换不同的颜色,这样就混合成不同组合,变换不同色彩了。这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。RGB色彩模式使用RGB模型为图像中每一个像素的RGB分量分配一个0~255范围内的强度值。例如:纯红色R值为255,G值为0,B值为0;灰色的R、G、B三个值相等(除了0和255);白色的R、G、B都为255;黑色的R、G、B都为0。RGB图像只使用三种颜色,就可以使它们按照不同的比例混合,在屏幕上重现16777216种颜色。在 RGB 模式下,每种 RGB 成分都可使用从 0(黑色)到 255(白色)的值。 例如,亮红色使用 R 值 246、G 值 20 和 B 值 50。 当所有三种成分值相等时,产生灰色阴影。 当所有成分的值均为 255 时,结果是纯白色;当该值为 0 时,结果是纯黑色。

5MM四脚全彩(RGB) LED灯珠
型号: XHS-5RGB-C 
胶体形状:圆头
封装材料:环氧树脂 
功率特性:小功率
发光颜色:全彩 
发光强度:高指向性
支架:长脚支架 
胶体颜色:无色透明
工作电压:1.8-3.5V 
工作电流:20MA
封装形式:直插型

技术参数
外观:5MM透明圆头颜色:红-绿-蓝波长:红色= 625nm -绿色= 525nm -蓝色= 460nm光强度:红色= 1000mcd -绿色=3000mcd -蓝色= 2000mcd角度:50 ° -60 °电压(典型值):红= 2.0V - 3.2V =绿色-蓝色= 3.2V供电,每片内电流(典型):20MA  焊接温度:260 °~5秒。

主要优势
1、体积小---LED基本上是一块很小的晶片被封装在环氧树脂里面,所以它非常的小,非常的轻。
2、功率低---LED耗电相当低,一般来说LED的工作电压是2-3.6V。只需要极微弱电流即可正常发光。
3、使用寿命长---在恰当的电流和电压下,LED的使用寿命可达10万小时。
4、高亮度、低热量---LED使用冷发光技术,发热量比同等功率普通照明灯具低很多。
5、环保---LED是由无毒的材料作成,不像荧光灯含水银会造成污染,同时LED也可以回收再利用。
6、坚固耐用---LED是被完全的封装在环氧树脂里面,它比灯泡和荧光灯管都坚固。灯体内也没有松动的部分,这些特点使得LED可以说是不易损坏的。

5MM三色RGB全彩LED模块颜色传感器KY-016 

模块参数

1.PCB颜色:黑色

2.使用5mm全彩超高亮LED

3.带限流电阻防止烧坏LED

4.可接各种单片机

5.高电平点亮LED

6.工作电压:3.3V/5V

7.模块重量:4g

8.可直接插在Arduino主板上使用,无需杜邦线连接

实验接线示意图

实验开源代码

  1. /*
  2. 【Arduino】168种传感器模块系列实验(资料+代码+图形+仿真)
  3. 实验六十四: 5MM三色RGB全彩LED模块颜色传感器KY-016
  4. 程序之一,颜色的依次循环变化
  5. */
  6. int redPin = 13;
  7. int greenPin = 12;
  8. int bluePin = 11;
  9. void setup()
  10. {
  11. pinMode(redPin, OUTPUT);
  12. pinMode(greenPin, OUTPUT);
  13. pinMode(bluePin, OUTPUT);
  14. }
  15. void loop()
  16. {
  17. setColor(255, 0, 0); // 红色
  18. delay(1000);
  19. setColor(0, 255, 0); // 绿色
  20. delay(1000);
  21. setColor(0, 0, 255); // 蓝色
  22. delay(1000);
  23. setColor(255, 255, 0); // 黄色
  24. delay(1000);
  25. setColor(80, 0, 80); // 紫色
  26. delay(1000);
  27. setColor(0, 255, 255); // 浅绿色
  28. delay(1000);
  29. }
  30. void setColor(int red, int green, int blue)
  31. {
  32. analogWrite(redPin, 255-red);
  33. analogWrite(greenPin, 255-green);
  34. analogWrite(bluePin, 255-blue);
  35. }


  1. /*
  2. 【Arduino】168种传感器模块系列实验(资料+代码+图形+仿真)
  3. 实验六十四: 5MM三色RGB全彩LED模块颜色传感器KY-016
  4. 程序之二,颜色慢慢变化~即从255每等待10ms降低一点直到0
  5. */
  6. int led1 = 9;
  7. int led2 = 10;
  8. int led3 = 11;
  9. void setup()
  10. {
  11. pinMode(led1,OUTPUT);
  12. pinMode(led2,OUTPUT);
  13. pinMode(led3,OUTPUT);
  14. }
  15. void setColor(int red,int green,int blue)
  16. {
  17. analogWrite(led1,255-red);
  18. analogWrite(led2,255-green);
  19. analogWrite(led3,255-blue);
  20. }
  21. void loop()
  22. {
  23. int i,j;
  24. for(i=0,j=255;i<256;i++)
  25. {
  26. setColor(i,j,0);
  27. delay(4);
  28. j--;
  29. }
  30. delay(100); //绿色向红色渐变
  31. for(i=0,j=255;i<256;i++)
  32. {
  33. setColor(j,0,i);
  34. delay(4);
  35. j--;
  36. }
  37. delay(100); //红色向蓝色渐变
  38. for(i=0,j=255;i<256;i++)
  39. {
  40. setColor(0,i,j);
  41. delay(4);
  42. j--;
  43. }
  44. delay(100); //蓝色向绿色渐变
  45. }


  1. /*
  2. 【Arduino】168种传感器模块系列实验(资料+代码+图形+仿真)
  3. 实验六十四: 5MM三色RGB全彩LED模块颜色传感器KY-016
  4. 程序之三,简单渐变
  5. */
  6. void setup()
  7. {
  8. pinMode(11,OUTPUT);
  9. pinMode(12,OUTPUT);
  10. pinMode(13,OUTPUT);
  11. }
  12. void loop()
  13. {
  14. digitalWrite(11,LOW);
  15. delay(1000);
  16. digitalWrite(11,HIGH);
  17. delay(1000);
  18. digitalWrite(12,LOW);
  19. delay(1000);
  20. digitalWrite(12,HIGH);
  21. delay(1000);
  22. digitalWrite(13,LOW);
  23. delay(1000);
  24. digitalWrite(13,HIGH);
  25. delay(1000);
  26. }


实验开源图形编程(Mind+)

实验开源仿真编程(linkboy3.7)


作者: 雕爷学编程, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-3894459.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

文章评论0条评论)

登录后参与讨论
我要评论
0
24
关闭 站长推荐上一条 /2 下一条