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

Arduino 混色器

组件和用品

Arduino UNO
× 1
旋转电位器(通用)
× 1
面包板(通用)
× 1
RGB LED
× 1
电阻 330 ohm
× 1
UTSOURCE 电子零件
× 1

应用和在线服务

Arduino IDE

关于这个项目

Arduino 混色器

本教程非常简单,需要一点 Arduino 和电子知识 ,如果您不熟悉 Arduino,我将提供链接以指导您完成本教程。

在本教程中,我们将生成所有可能的颜色,您只需稍加改动即可看到。它还将让您看透RGB 颜色模型 并了解当今的显示器是如何工作的。

我们还将使用 Arduino 模拟输入/输出 (在教程后面称为 I/O)并将学习如何在 Arduino 引脚上读取和写入模拟电压。

这是我第一次尝试电路(前段时间,它在增加底池值时出现了一个小问题,但后来我解决了。)

1-1 组件

  • Arduino 板(我使用的是 Arduino Uno)
  • 面包板
  • 男女跳线(约 15 人)
  • 3 * 电位器(我使用的是 5K 电位器。)
  • 3 * 330 欧姆电阻器(橙色 - 橙色 - 棕色)
  • RGB LED(RGB 模块也可以)
  • 安装了 Ardiuno IDE 的 PC,用于对 Arduino 进行编程

让我们滚吧!

混色器背后的想法是,Arduino 在 RGB LED 引脚上输出一个相对于模拟输入上电位计输入电压的电压。

1-2 连接锅。

锅将是我们的分压器电路,其中 Vout 是 Arduino 引脚

简而言之,它将可调节的电压量(通过旋转转子改变)转换为 Arudino 模拟输入引脚 (Vout),此链接进一步解释了该主题。

如图所示连接电位器,在 5v 或 GND 上连接外部端子根本无关紧要,最重要的连接是中间端子,它连接到模拟输入引脚。

您从 Arduino 引脚获得 5v 和 GND。

我使用橙色作为 5v(而不是红色)以便更容易区分电源线和信号线

对每种颜色的 3 个盆重复此连接。

我想尽可能保持连接整洁,所以我将连接 A0 上的红色、A1 上的绿色和 A2 上的蓝色的锅。

1-3 连接RGB LED

RGB LED 使用与传统 LED(二极管)相同的概念,神奇之处在于它包含 3 个并排的 LED,当这些 LED 发出的光落在您的视网膜上时,它们代表不同的颜色,因为您将它们视为单一组合颜色。

由于每个 PWM 输出有 256 个值和代表红绿蓝的 3 个引脚,因此我们总共有 256 * 256 * 256 种颜色,即 16,777,216 种颜色(近 1700 万种)。

RGB LED 的连接方式与连接普通 LED 的方式相同,但重复工作 3 次。

最终的输出应该是这样的,我在输入和输出引脚的最低引脚编号上连接了红色值,只是为了代码简单。

不要忘记连接 330 欧姆电阻,因为我犯了这个错误并且我的红色 LED 被烧坏了电力不会做太多工作来烧毁 LED,所以要小心。

现在我们有了一个完整的电路,代码真的是那么简单明了。

让我们编码

Arduino 的代码以顺序方式完成这些简单的任务。

设置

  • 设置3个模拟输入引脚的模式为输入
  • 设置3个pwm(模拟输出)引脚的模式为输出

循环

  • 读取底池的价值。使用analogRead函数
  • 使用映射将模拟引脚的值映射到匹配的 PWM 值
  • 功能
  • 使用analogWrite函数将PWM值写入模拟引脚

代码在下方。

我的最终输出不要忘记我烧了红色 LED :\ -它连接在第一个锅上-

现在您拥有了 1700 万种颜色的终极色彩生成器!恭喜!!

如果您喜欢,请尊重并分享该项目:) 您可以在 utsource.net 上购买电子元件

查看我关于使用 1Sheeld 制作两轮驱动机器人的其他教程。

代码

  • RGB LED 游戏代码
RGB LED 游戏代码Arduino
根据 outRGB 阵列中的引脚连接 LED 引脚和根据 inRGB 阵列的传感器引脚连接
/* 使用每种颜色的电位器控制 RGB LED 名称:RGBLedPot.ino 创建时间:17/2/16 9:47:03 AM作者:Ahmed Hamdy GNUPL 3.0+*/// setup 函数在你按下 reset 或给 board 供电时运行一次int inRGB[] ={ A0,A1,A2 }; // 读取电位器值的模拟输入int outRGB[] ={ 9,10,11 }; // PWM 输出引脚来控制 RGB LEDint tempValue =0 中每种颜色的亮度; // Placeholderconst int inMinVal =0, inMaxVal =1023; // 定义从电位计读数返回的最大值和最小值的值void setup() { // 在所有引脚上循环(3 个值:红色、绿色和蓝色) for (int i =0; i <3; i++) { pinMode (inRGB[i], 输入); // 准备这些引脚以读取电位计值 pinMode(outRGB[i], OUTPUT); // 准备这些引脚以输出 RGB LED 的值 }}// 循环函数一遍又一遍地运行,直到断电或 resetvoid loop() { // 对每种颜色重复以下操作 for (int i =0; i <3; i++) { tempValue =analogRead(inRGB[i]); // 读取电位器 // 将电位器读数 (0 ~ 1023 ) 缩小到有效的 PWM 值 // 0 ~ 255 表示 Arduino PWM 输出的范围 tempValue =map(tempValue, inMinVal, inMaxVal, 0, 255); // 在 pin 上写入输出 analogWrite(outRGB[i], tempValue); }}

示意图


制造工艺

  1. Arduino 数字骰子
  2. 钢铁侠
  3. 找到我
  4. Arduino 3D 打印机械臂
  5. Arduino 加湿器控制
  6. Arduino RGB 混色器
  7. NeoMatrix Arduino Pong
  8. Arduino Joystick
  9. Arduino TEA5767 FM 收音机接收器
  10. 计步器(Arduino 101)
  11. 音乐色彩
  12. Arduino 教程:迷你钢琴