3D RGB Arduclock — 蓝牙控制全彩LED时钟带RTC与闹钟
元器件清单
| Arduino Nano R3 | ×1 |
| HC-05 蓝牙模块 | ×1 |
| Adafruit NeoPixel Ring (WS2812B, 7颗×6环) | ×1 |
| Digilent Pmod RTCC (DS3231 高精度 RTC) | ×1 |
| 0.25W 8Ω 扬声器 | ×1 |
必备工具
- 电烙铁
- 3D 打印机 (打印外壳、分隔件、扩散罩等)
项目特性
这是一款 3D 打印外壳的 RGB LED 时龐,通过手机蓝牙 App 全功能控制:
- 显示时间 / 日期 / 温度 (DS3231 自带温度传感器)
- 手机同步校准时间、日期
- 闹钟响铃播放《权力的游戏》主题曲
- 整体/分组修改数字颜色 (时/分/秒点独立)
- 内置多种炫彩动画 (跑马灯、彩虹、剧场追逐等)
- 便携或送礼均宜
详细教程、3D 模型、App 下载见:项目主页
硬件架构
七组 7 颗 WS2812 环分别显示:十位时、个位时、十位分、个位分、十位秒、个位秒、秒分隔点。每组单独一根数据线接 Nano D4-D10,统一由 Adafruit_NeoPixel 驱动。RTC 走 I2C (A4/A5),蓝牙模块走串口 (D0/D1),蜂鸣器接 D13,闹钟使能跳线接 D12。
核心代码逻辑
七段码映射
byte sevendisplay[19][7] = {
{1,1,1,1,1,1,0}, // 0
{0,0,1,1,0,0,0}, // 1
...
{1,1,1,0,0,1,1}, // P
};
共 19 种符号 (0-9, C, ', H, L, T, E, 空, N, P)。
蓝牙指令协议
App 发送以点号结尾的字符串,如 saat.12.34. 设置时间 12:34,alarm.07.30. 设置闹钟 7:30,d1.~d4. 循环切换四组颜色,all. 整体换色,animation. 触发动画,temp. 显示温度,date. 显示日期。主循环 Serial.readStringUntil('.') 解析分发。
闹钟与音乐
到点时清屏并调用 GameOfThrones(),该函数用 tone() 在 D13 输出方波驱动扬声器,同步调用 ilumina()/apaga() 点亮/熄灭对应 LED 像素,实现声光同步。旋律为《权力的游戏》主题片段,共 4 段重复变奏。
动画效果
colorWipe() 单色扫过、rainbow() 彩虹循环、rainbowCycle() 均匀彩虹、theaterChase() 剧场追逐、theaterChaseRainbow() 彩虹追逐。均对六组灯环同步操作。
完整代码
单文件 code.ino 包含全部逻辑:音符宏定义、NeoPixel 初始化、RTC 读写、蓝牙指令解析、七段显示刷新 yaz()、闹钟检测、音乐播放、动画函数、HSV→RGB 色轮 Wheel()。代码已整理去重,可直接编译上传。
原理图

制造工艺
- Arduino UNO + MAX7219 自制《UFO攻击》复古射击游戏机
- Arduino 数字骰子:LCD 显示随机点数的电子骰子
- 水驱动火焰效果:Arduino UNO + Neopixel Stick 仿真壁炉
- MyRiver:基于 Arduino MKR FOX 1200 的河流水质远程监测系统
- DIY 钢铁侠人偶:Arduino 控制超声波触发音效与灯光
- Arduino + 模拟摇杆互动游戏:五向 LED 反馈
- Find Me:基于 Arduino 与蓝牙的智能寻物器制作指南
- 打造功能完整的 Arduino 驱动 3D 打印机械臂:分步指南
- 便携测距仪 DIY 套件:Arduino Nano + HC-SR04 + 18650 电池 + 3D 打印外壳
- DIY Arduino 加湿器控制器:继电器安全控制高压电路
- Arduino 驱动的家用风量计:构建与监测指南
- Arduino 驱动的迷你漫游车:自制避障机器人