制作 8×8×8 RGB LED 立方体:Arduino 驱动 DIY 完全指南
元器件与物料
| 元器件 | 数量 | 备注 |
|---|---|---|
| RGB 漫射共阳极 LED (5mm) | 512 | 立方体像素点 |
| DM13A LED 驱动芯片 | 12 | 每片 16 通道恒流驱动,替代 24 个移位寄存器 |
| 74HC138 3-8 线解码器 | 1 | 层选信号解码 |
| IRF9640 P 沟道 MOSFET | 8 | 8 层阳极高边开关 |
| Arduino UNO | 1 | 或自制 ATmega328P 最小系统 |
| Digilent 5V 2.5A 开关电源 | 1 | 供电 |
| 电阻 10kΩ | 8 | MOSFET 栅极下拉 |
| 电阻 1kΩ | 8 | BLANK/LATCH 上拉 |
| 电阻 100Ω | 8 | 层选限流 |
软件与在线服务
- Arduino IDE
项目简介
视频演示
项目受 Kevin Darrah 的 RGB 立方体启发。Kevin 的版本用 24 个移位寄存器 + 192 个三极管 + 640 个电阻,焊接工程量巨大。作者改用 12 片 DM13A 恒流驱动芯片 (eBay 约 $1/片),大幅简化电路。
立方体构建
LED 立方体本体按 Kevin 视频教程制作 (逐层焊接、对齐、测试)。完成后制作 PCB 承载 DM13A 芯片与立方体引脚。为节省商业 PCB 过孔镀铜成本,作者采用手工包线方式:用绕线线将每颗 LED 引脚逐一连到对应 DM13A 引脚。Eagle 文件包含手工布线版与自动布线版 (未测试)。
主控板 (微控制器+阳极驱动板) 还预留了 MSGEQ7 七段频谱分析芯片与麦克风前置电路,计划未来做声控动画,目前未启用。若使用成品 UNO/Nano,仅需 74HC138 + 8 个 P 沟 MOSFET + 配套电阻,可飞线在洞洞板上完成。
5V 20W 电源来自 eBay。外壳用 40×9mm 刨光松木自制。
动画代码基于 Kevin 的版本微增修改,新增几种动画效果。
总结
600 颗 5mm 共阳漫射 RGB LED 在 eBay 约 $30。即使简化了电路,立方体焊接仍极其耗时,但成品极具成就感。
代码
Cube_8x8x8_V1.ino (C/C++)
完整代码含:SPI 驱动 DM13A、Timer1 中断多路复用 + 4-bit BAM (位角调制) 实现 16 级亮度、8 层轮询扫描 (~1kHz 刷新)、10 种内置动画 (雨滴、折叠、正弦波、随机色、擦除、弹跳、色环、哈林摇、涟漪等)、按键切换动画/模式。核心数据结构:每色 4 个 64 字节数组存储 512 个像素的 4-bit 亮度。中断服务程序 (ISR) 极度优化,直接操作端口寄存器。
代码约 1000 行,此处略去动画函数细节,完整版请下载附件。
原理图
eagle_files_WfqPEUP7Mp.zip (Eagle 设计文件)
制造工艺
- 智能缺水报警器 – DIY植物土壤湿度监测装置
- 用 Arduino Mega 制作惊艳的 5×5×5 LED 光立方
- 意大利语单词时钟:Arduino Nano + NeoPixel 144 灯珠 + LCD + RTC 打造
- 基于Arduino MKR Fox 1200构建可靠Sigfox千瓦时电表
- Arduino RGB LED调色器:三电位器混色入门项目
- 蓝牙温度监测仪:Arduino Nano + NTC 热敏电阻 + HC-06 无线传输
- 户外DMX控制RGB投光灯:低成本高性能舞台灯光DIY方案
- 非接触手势门锁:APDS-9960 + Arduino 实现安全门禁
- Arduino Nano 多功能伴侣套件 —— 电阻/电容测量、二极管测试、RTC时钟一体化
- Arduino Micro/Leonardo USB MIDI 适配器套件 —— 完整元件清单与固件指南
- 为Arduino构建隔离模拟输入电路
- Arduino UNO 精准视觉反应时间测试仪