亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

Arduino RGB 混色器

组件和用品

Arduino UNO
× 1
RGB LED
任何 4 针共地 RGB LED 都适用于此项目
× 1
旋转电位器(通用)
× 3
SparkFun 按钮开关 12mm
× 1
电阻 10k ohm
× 1
电阻 221 ohm
× 3
面包板(通用)
× 1
跳线(通用)
× 1

应用和在线服务

Arduino IDE

关于这个项目

这是给谁的? :这个 RGB LED 颜色混合器项目非常适合热衷于尝试构建交互式小工具的 Arduino 初学者用户,这不仅有趣且易于制作,而且对于使用 RBG 颜色的任何人(例如艺术家、网络)都有用开发人员和交互式照明控制器。

有什么作用: 这个简单的电路结合了三个电位器,用于设置 RGB LED 内每个红色、绿色和蓝色 LED 的亮度。

按钮开关增加了一个额外的功能来打开和关闭电路。

我该如何构建它? 按照原理图接线。 RGB LED 连接到 Arduino 上的 PMW 引脚 9、10 和 11。按钮连接到引脚 7,3 个电位器连接到 A0、A1 和 A2。请记住在按钮的接地连接上添加一个 10K 欧姆的上拉电阻。有关其工作原理的解释,请在此处查看 https://playground.arduino.cc/CommonTopics/PullUpDownResistor

还要确保在 LED 和输出引脚之间连接 3 220 ohm 电阻,这将确保您的 LED 不会烧坏。

每个电位器的值都打印到串口监视器上,所以如果你摆弄 LED 并找到你喜欢的颜色,你可以记录下 RGB 值以备后用。

连接好电路并上传草图后,尝试转动电位计上的旋钮。在你按下按钮之前,一开始什么都不应该发生。现在再次尝试转动旋钮。 LED 现在应该亮了。是时候玩光了!请记住,RGB 灯不像混合颜料。当所有电位器都全开时,灯应该是白色的。尝试将电位计中的一个保持关闭或非常低,并改变另外两个。

这个项目的一个扩展是为你喜欢的特定颜色硬编码一些 RBG 值,并添加一些更多的按钮,当按下时,会将 RGB LED 设置为这些颜色。如果您尝试这样的扩展程序,请随时分享代码!

享受!

代码

  • RGB 混色器
RGB 混色器C/C++
int blue =9; //为LED的每种颜色定义数字引脚int green =10;int red =11;int redPot =A0;int greenPot =A1; //为3个电位器定义模拟引脚int bluePot =A2;int greenVal =0; //创建一个变量来存储每个电位器的状态int blueVal =0;int redVal =0;const int BUTTON =7; //定义按钮 Pinint state =0; //创建一个变量来存储按钮是打开还是关闭 val =0; //创建一个变量来存储按钮的瞬时状态int old_val =0; // 创建一个变量来存储 buttonvoid setup() 的前一个状态 { // 把你的设置代码放在这里,运行一次: pinMode(green, OUTPUT); //设置 LED 为输出,按钮为输入 pinMode(blue, OUTPUT); pinMode(红色,输出); pinMode(按钮,输入); Serial.begin(9600);}void loop() { // 把你的主要代码放在这里,重复运行:Serial.begin(9600); //在 9600 波特处打开串行监视器 val =digitalRead(BUTTON); // 检查按钮状态 if ((val ==HIGH) &&(old_val ==LOW)) { //检查按钮状态是否改变 state =1 - state; //将按钮设置为开(1)或关(0)延迟(10); } old_val =val; // 通过循环保存上一次按钮读数以供下次比较 greenVal =analogRead(greenPot); //读取电位器的位置 blueVal =analogRead(bluePot); redVal =模拟读取(redPot); if (state ==1) { //如果按钮是打开的,根据位置analogWrite(green, greenVal / 4)设置每个LED的状态; //其对应的电位器。 Anolog 输入范围从 0-1023,analogWrite(blue, blueVal / 4); // 而模拟输出为 PMW 可以是 0-255。因此我们必须analogWrite(red, redVal / 4); // 将电位计读数除以 4 以正确设置状态 Serial.print("RGB("); Serial.print(redVal/4); Serial.print(","); Serial.print(greenVal/4); Serial.print(","); Serial.print(blueVal/4); //打印 RGB 代码,可在任何 RGB 应用程序中重用 Serial.println(")");延迟(50); } else { // 如果按钮关闭,将所有 LED 设置为低/关闭模拟写入(绿色,0);模拟写入(蓝色,0);模拟写入(红色,0);延迟(50); }}

示意图


制造工艺

  1. DIY LUMAZOID Arduino 音乐可视化器
  2. 手势控制互动桌灯
  3. Arduino 带蓝牙控制 LED!
  4. Arduino Quadruped
  5. DIY Arduino RADIONICS 治疗MMachine
  6. DMX RGB LED 户外
  7. Arduino 混色器
  8. 音乐色彩
  9. LED 轮盘游戏
  10. Arduino 自动停车库
  11. 超声波测距仪
  12. RGB 背光 + MSGEQ7 Audio Visualizer