Arduino爱好者

 找回密码
 立即注册

QQ登录

只需一步,快速开始

楼主: eagler8

【Arduino】168种传感器模块系列实验(65)---RGB全彩LED模块

[复制链接]
 楼主| 发表于 2019-7-22 18:09 | 显示全部楼层
本帖最后由 eagler8 于 2020-10-9 10:44 编辑
  1. /*
  2. 【Arduino】66种传感器模块系列实验(65)
  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. }
复制代码

 楼主| 发表于 2019-7-22 18:31 | 显示全部楼层
本帖最后由 eagler8 于 2020-10-9 10:45 编辑
  1. /*
  2. 【Arduino】66种传感器模块系列实验(65)
  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. }
复制代码

 楼主| 发表于 2019-7-22 18:50 | 显示全部楼层
本帖最后由 eagler8 于 2020-10-9 10:45 编辑
  1. /*
  2. 【Arduino】66种传感器模块系列实验(65)
  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. }
复制代码

 楼主| 发表于 2019-7-22 19:00 | 显示全部楼层
10.jpg
 楼主| 发表于 2019-7-22 19:29 | 显示全部楼层
11.jpg
 楼主| 发表于 2019-7-22 19:31 | 显示全部楼层
12.jpg
 楼主| 发表于 2019-7-22 19:33 | 显示全部楼层
13.jpg
 楼主| 发表于 2021-9-14 13:46 | 显示全部楼层
  【Arduino】168种传感器模块系列实验(资料代码+图形编程+仿真编程)
  实验一百八十五:MAX4466声音传感器 低功耗驻极体话筒放大器 麦克风可调功放模块
  项目十三:RGB LED 灯的声学频谱控制

  实验开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+图形编程+仿真编程)
  3.   实验一百八十五:MAX4466声音传感器 低功耗驻极体话筒放大器 麦克风可调功放模块
  4.   项目十三:RGB LED 灯的声学频谱控制
  5.   实验接线:MAX4466咪头模块OUT接Uno的A0
  6.   Rpin 11
  7.   Gpin 10
  8.   Bpin 9
  9. */

  10. #define Rpin 11
  11. #define Gpin 10
  12. #define Bpin 9
  13. #define delayLEDS 3
  14. #define sensorPin A0

  15. float sensorValue = 0, filteredSignal = 0,
  16.       filteredSignalValues[] = {3.4, 3.1, 2.7, 2.4, 2.1, 1.7, 1.3, 0.9, 0.4};

  17. void setup () {
  18.   Serial.begin (9600);
  19. }

  20. void loop () {
  21.   MainFunction();
  22.   delay(6);
  23. }

  24. void MainFunction() {
  25.   sensorValue = (float) analogRead(sensorPin) * (5.0 / 1024.0);
  26.   FilterSignal(sensorValue);
  27.   Serial.print(sensorValue);
  28.   Serial.print(" ");
  29.   Serial.println(filteredSignal);
  30.   CompareSignalFiltered(filteredSignal);
  31. }

  32. void FilterSignal(float sensorSignal) {
  33.   filteredSignal = (0.945 * filteredSignal) + (0.0549 * sensorSignal);
  34. }

  35. void CompareSignalFiltered(float filteredSignal) {
  36.   if (filteredSignal > filteredSignalValues[0]) {
  37.     RGBColor(0, 127, 255);
  38.     Serial.println("Blue");
  39.   } else if (filteredSignal <= filteredSignalValues[0] && filteredSignal > filteredSignalValues[1]) {
  40.     Serial.println("Azure");
  41.     RGBColor(0, 255, 255);
  42.   } else if (filteredSignal <= filteredSignalValues[1] && filteredSignal > filteredSignalValues[2]) {
  43.     RGBColor(255, 0, 0);
  44.     Serial.println("Cyan");
  45.   } else if (filteredSignal <= filteredSignalValues[2] && filteredSignal > filteredSignalValues[3]) {
  46.     RGBColor(0, 255, 127);
  47.     Serial.println("Aqua marine");
  48.   } else if (filteredSignal <= filteredSignalValues[3] && filteredSignal > filteredSignalValues[4]) {
  49.     RGBColor(0, 255, 0);
  50.     Serial.println("Green");
  51.   } else if (filteredSignal <= filteredSignalValues[4] && filteredSignal > filteredSignalValues[5]) {
  52.     RGBColor(255, 255, 0);
  53.     Serial.println("Yellow");
  54.   } else if (filteredSignal <= filteredSignalValues[5] && filteredSignal > filteredSignalValues[6]) {
  55.     RGBColor(0, 0, 255);
  56.     Serial.println("Magenta");
  57.   } else if (filteredSignal <= filteredSignalValues[6] && filteredSignal > filteredSignalValues[7]) {
  58.     RGBColor(255, 0, 127);
  59.     Serial.println("Rose");
  60.   } else if (filteredSignal <= filteredSignalValues[7] && filteredSignal > filteredSignalValues[8]) {
  61.     RGBColor(255, 127, 0);
  62.     Serial.println("Orange");
  63.   } else if (filteredSignal <= filteredSignalValues[8]) {
  64.     RGBColor(0, 127, 255);
  65.     Serial.println("Red");
  66.   } else {
  67.     RGBColor(255, 50 , 0);
  68.     Serial.println("Default: Blue");
  69.   }
  70. }

  71. void RGBColor(int Rcolor, int Gcolor, int Bcolor) {
  72.   analogWrite(Rpin, Rcolor);
  73.   analogWrite(Gpin, Gcolor);
  74.   analogWrite(Bpin, Bcolor);
  75.   delay(delayLEDS);
  76. }
复制代码



 楼主| 发表于 2021-9-14 13:49 | 显示全部楼层
实验串口返回情况

40.jpg
 楼主| 发表于 2021-9-14 14:05 | 显示全部楼层
本帖最后由 eagler8 于 2021-9-14 14:23 编辑

实验场景图  

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

本版积分规则

小黑屋|Archiver|手机版|Arduino爱好者

GMT+8, 2022-12-7 01:13 , Processed in 0.071349 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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