动态 RGB 墙钟:Arduino Nano + 蓝牙控制的多彩时钟
项目介绍
继“无限镜时钟”和“七段数码时钟”后,带来这款别具一格的 RGB 墙钟。核心仍是 RGB LED,结合 3D 打印结构件,不仅显示时间,还内置多种炫酷动画,甚至可纯当动画灯使用。控制方式极简:配套手机 App(文末提供下载)通过蓝牙操控。主控选用 Arduino Nano 节省空间,电路紧凑可靠。废话不多说,先看演示视频!







硬件清单
| 组件 | 数量 |
|---|---|
| Arduino Nano R3 | 1 |
| HC-06 蓝牙模块 | 1 |
| DS3231 高精度 RTC 模块 | 1 |
| RGB LED 灯带 (60 LED/m) | 1 |
| 3D 打印结构件 | 1套 |
所需工具
- 电烙铁
- 3D 打印机
核心代码
基于 DS3231 库与 Adafruit_NeoPixel 库。主要功能:
- 蓝牙串口接收指令:时间设置(时/分微调)、三针颜色独立调节(R/G/B)、动画模式触发
- 实时走时:秒针、分针、时针分别用不同颜色 LED 表示(60 LED 环表分/秒,12 LED 环表时)
- 内置动画:跑马灯、彩虹循环、剧场追逐、彩虹剧场追逐等
- 颜色设置持久化:掉电保持
#include <DS3231.h>
#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#endif
#define PIN 6
#define PIN2 7
#define NUMPIXELS 60
DS3231 rtc(SDA, SCL);
Time t;
int hr, mnt, sc;
char data, color_select;
int h_red_deger=255, h_green_deger=0, h_blue_deger=0;
int m_red_deger=0, m_green_deger=255, m_blue_deger=0;
int s_red_deger=255, s_green_deger=255, s_blue_deger=0;
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel pixels2 = Adafruit_NeoPixel(12, PIN2, NEO_GRB + NEO_KHZ800);
// ... 完整代码含 colorWipe, rainbow, rainbowCycle, theaterChase, theaterChaseRainbow, Wheel 等动画函数
void setup() {
Serial.begin(9600);
rtc.begin();
#if defined (__AVR_ATtiny85__)
if (F_CPU == 16000000) clock_prescale_set(clock_div_1);
#endif
pixels.begin(); pixels2.begin();
}
void loop() {
// 蓝牙指令解析与时钟显示主循环
// 详见原文完整代码
}
原理图与 App

手机控制 App:clockconnect__Ieit1qA91l.apk
制造工艺
- 布谷鸟钟:历史、工艺与现代演变
- Arduino POV 时钟:自制视觉暂留 LED 显示器
- 用 Adafruit 60 LED NeoPixel 环形灯和 Arduino 制作时尚挂钟
- DIY Arduino单词时钟 – 极简优雅的实时文字显示
- 自制大尺寸LED主时钟带闹钟功能 — 12米外清晰可见
- 3D RGB Arduclock — 蓝牙控制全彩LED时钟带RTC与闹钟
- 意大利语单词时钟:Arduino Nano + NeoPixel 144 灯珠 + LCD + RTC 打造
- JX 波形发生器 – 基于 Arduino 的 DDS 振荡器,带 OLED 显示屏
- 用 Arduino UNO 制作柏林时钟 – DIY LED 矩阵时钟
- 用 Arduino Pro Mini 与 DS1302 RTC 打造精准七段数码管时钟
- 无线红外测温枪:Arduino Nano + HC-06蓝牙 + MLX90614
- 无限镜面时钟:极致优雅与精准计时的融合