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

Arduino RGB 颜色混合器 – 分步制作教程

项目简介

本教程将指导你制作一个 Arduino RGB 颜色混合器,通过三个电位器分别控制红、绿、蓝三通道的 PWM 输出,实现 1677 万种颜色(256³)的实时混合显示。适合初学者理解 RGB 颜色模型、模拟输入输出及 PWM 原理。

核心学习点

硬件清单

组件数量规格/备注
Arduino UNO1或兼容板
面包板1标准半尺寸
公对公杜邦线约 15 根连接用
旋转电位器3建议 5kΩ 或 10kΩ
330Ω 电阻3限流保护 LED(橙-橙-棕色环)
RGB LED(共阴极)1或 RGB 模块

电路原理与接线

1. 电位器作为分压器

每个电位器两端分别接 5V 与 GND,中间滑动端接 Arduino 模拟输入引脚(A0/A1/A2)。旋转电位器改变分压比,输出 0-5V 电压供 ADC 采样(0-1023)。

接线建议:用橙色线表示 5V 电源,区分信号线;红/绿/蓝电位器分别接 A0/A1/A2。

2. RGB LED 接线

共阴极 RGB LED 的公共阴极接 GND,三个阳极分别经 330Ω 电阻连接 Arduino PWM 引脚(D9/D10/D11)。

关键提示:必须串联限流电阻,否则会烧毁 LED(作者曾因漏接电阻烧毁红光通道)。

3. 引脚分配表

功能Arduino 引脚备注
红色电位器输入A0模拟输入
绿色电位器输入A1模拟输入
蓝色电位器输入A2模拟输入
红色 PWM 输出D9~ PWM 引脚
绿色 PWM 输出D10~ PWM 引脚
蓝色 PWM 输出D11~ PWM 引脚

代码实现

/* RGB LED 颜色混合器 - 电位器控制版
 * 引脚定义:输入 A0/A1/A2,输出 D9/D10/D11
 */
int inRGB[]  = { A0, A1, A2 };   // 电位器模拟输入引脚
int outRGB[] = { 9, 10, 11 };    // RGB LED PWM 输出引脚
int tempValue = 0;
const int inMinVal = 0, inMaxVal = 1023;  // ADC 范围

void setup() {
  for (int i = 0; i < 3; i++) {
    pinMode(inRGB[i], INPUT);
    pinMode(outRGB[i], OUTPUT);
  }
}

void loop() {
  for (int i = 0; i < 3; i++) {
    tempValue = analogRead(inRGB[i]);           // 读取电位器 (0-1023)
    tempValue = map(tempValue, inMinVal, inMaxVal, 0, 255); // 映射到 PWM 范围
    analogWrite(outRGB[i], tempValue);          // 输出 PWM 控制亮度
  }
}

代码逻辑解析

  1. 初始化:设置 3 组输入/输出引脚模式
  2. 主循环:依次处理 R/G/B 三通道
    • analogRead() 读取 10 位 ADC 值(0-1023)
    • map() 线性映射至 8 位 PWM 范围(0-255)
    • analogWrite() 输出 PWM 波形驱动 LED

扩展与改进建议

常见问题排查

现象可能原因解决方法
某颜色通道不亮电阻未焊接/引脚定义错误/LED 损坏检查限流电阻、核对引脚、替换 LED
颜色变化不连续电位器接触不良/杜邦线松动重新插拔、更换优质电位器
白平衡偏色三通道 LED 光强不一致软件端映射系数补偿、或选用匹配度高的 RGB LED

项目资源

制造工艺

  1. Arduino 数字骰子:LCD 显示随机点数的电子骰子
  2. DIY 钢铁侠人偶:Arduino 控制超声波触发音效与灯光
  3. Find Me:基于 Arduino 与蓝牙的智能寻物器制作指南
  4. 打造功能完整的 Arduino 驱动 3D 打印机械臂:分步指南
  5. DIY Arduino 加湿器控制器:继电器安全控制高压电路
  6. Arduino RGB LED调色器:三电位器混色入门项目
  7. Arduino Nano 驱动 NeoPixel 矩阵:自制霓虹乒乓游戏
  8. DIY Arduino 手柄方向盘 - 游戏竞速模拟器自制指南
  9. Arduino + TEA5767 打造 FM 收音机:Nokia 5110 显频谱/信号强度/立体声
  10. Arduino 101 计步器:集成 DHT11 温湿度 + LCD 显示步数/距离/卡路里
  11. 动感音乐灯光秀 —— Arduino Nano 驱动 NeoPixel 打造新年视听盛宴
  12. 用 Arduino UNO 自制迷你钢琴 — 图文教程