动感音乐灯光秀 —— Arduino Nano 驱动 NeoPixel 打造新年视听盛宴
硬件清单
| 元器件 | 规格 | 数量 |
|---|---|---|
| Arduino Nano R3 | 主控板 | 1 |
| NeoPixel (WS2812B) 灯带 | 任意长度,建议 60-240 LED | 1 条 |
| 电阻 33-470 Ω | 数据线串联 (官方建议) | 1 |
| 电源 (可选) | LED >20 颗需外接 5V 供电 | 视情况 |
软件架构
本项目采用 PC 端音频频谱分析 + Arduino 灯光渲染 的分离式架构:
- PC 端 (Windows):
Musical Light.exe(CMU.EXE) 捕获系统音频 (支持虚拟音频线/混音器/麦克风),实时 FFT 分析,通过串口/无线 (nRF24L01) 发送频谱数据给 Arduino。 - Arduino 端:运行
COMTOLED.ino(直连) 或COMtoRF.ino+RFtoLED.ino(无线),接收数据驱动 WS2812B。
PC 端软件功能
- 7 种色光音乐模式:频谱能量直接映射 RGB 亮度/色相
- >100 种动态效果模式:跑马灯、呼吸、波浪、星空等,72 种子程序内置,其余开放扩展
- 系统托盘常驻、开机自启、最小化托盘
- 支持多音频源:虚拟音频线 (推荐)、Line-in、麦克风、AirPlay 接收等
Arduino 关键配置
// 必须按实际 LED 数修改,否则越界或亮度异常
#define stripLed 120 // 例:120 颗 LED
// 直连版串口波特率 115200,数据协议见源码
// 供电注意:USB 口限流 ~500mA,全白全亮约 60mA/10 颗
// 超 20 颗建议外接 5V 电源,数据线串联 33-470Ω 保护
接线示意

最小系统:Arduino Nano D2 → 电阻 → 灯带 Din,GND 共地,5V 供电。
音频路由实例
作者方案:iTunes 播放 → AirPlay 发送至 Yamaha 功放同步出声 → 同时开启虚拟音频线 (VB-Cable) 作为系统默认录入设备 → PC 软件读取虚拟音频线输出做频谱分析。实现“听音箱、看灯光、零延迟”。
代码与固件
GitHub 开源:juraspb/MusicToColor
包含 PC 端可执行文件、Arduino 多版本固件、原理图、Fritzing 源文件。
玩法建议
- 新年派对背景墙:灯带贴画框/吊顶/窗帘盒
- 桌面氛围灯:短灯带置于显示器后/键盘下
- 乐器练习可视化:吉他/钢琴演奏实时投影
- 直播/录播伴奏灯光:OBS 采集系统声音同步驱动
温馨提示: 编译上传前务必修改 #define stripLed 为实测灯珠数。视频演示见项目页面 (色光/动态模式各一段)。
制造工艺
- 电视:从机械起源到智能未来
- DIY 蓝牙控制 Arduino 间谍小车
- FlickMote:基于手势的智能家居红外遥控器
- DIY Arduino TV-B-Gone:万能关机遥控器
- 自制大尺寸LED主时钟带闹钟功能 — 12米外清晰可见
- Find Me:基于 Arduino 与蓝牙的智能寻物器制作指南
- Arduino 项目优化供电方案:从按键开关到电池监测与数据记录
- Arduino 井字棋游戏:MAX7219 点阵屏 + 纸板外壳 DIY
- 从零构建智能 Arduino 四足机器人:完整指南
- Arduino RGB LED调色器:三电位器混色入门项目
- DIY Arduino 手柄方向盘 - 游戏竞速模拟器自制指南
- Arduino RGB 颜色混合器 – 分步制作教程