RGB HexMatrix 物联网时钟:动态六边形 LED 矩阵显示
项目概览
HexMatrix 是一个由 96 颗 WS2811 RGB LED 组成的六边形像素矩阵,六个三角形像素拼成一个正六边形,整体呈蜂窝状。配合 ESP8266(NodeMCU)联网对时,可显示时钟、日期及多种 FastLED 内置动画;仅用 Arduino Uno 也可播放离线动画。3D 打印结构件,制作门槛低、视觉效果炫酷,适合桌面装饰与 IoT 入门。
硬件清单
- ESP8266 NodeMCU / Arduino Uno/Nano × 1
- WS2811/WS2812B 单线 RGB LED × 96(灯带或单颗贴片)
- 5V/2.5A 开关电源(或 5V 2A 移动电源)× 1
- 3D 打印件:主体框架、扩散板(白色 PLA)、连接件(STL 文件见项目附件)
- 焊接工具:电烙铁、无铅锡线、助焊剂、剪线钳
电路连接
- LED 串联成单条链(蛇形排布),DIN → MCU D2(NodeMCU D4/GPIO2,Arduino D2)。
- 电源并联:每隔 ~30 颗 LED 在两端并联加粗线供电,防止压降导致尾端发黄/变暗。
- MCU 与 LED 共地;MCU 由 USB 或独立 5V 供电。
- 可选:DIN 串联 330-470Ω 电阻,电源端并联 1000µF 电解电容抑制浪涌。
3D 打印与组装
- 下载 STL,主体框架用任意颜色 PLA 打印,扩散板**必须用白色 PLA**(透光均匀)。
- 按“蛇形顺序”将 LED 逐颗嵌入框架卡槽,注意方向一致(箭头指向数据流向)。
- 焊接数据线、电源线,建议先短距离测试再全盘焊接。
- 扣上扩散板,固定 MCU 与电源模块,理线完成。
固件说明
三款固件对比
| 固件 | 适用主控 | 功能 |
|---|---|---|
HexMatrix.ino | 任意 Arduino/ESP | 纯动画演示(FastLED 示例:Fire, Rainbow, Confetti 等) |
clock1.ino | 仅 ESP8266/ESP32 | NTP 对时 + 静态色时钟(自定义前景/背景色) |
clock2.ino | 仅 ESP8266/ESP32 | NTP 对时 + **Pride 动态彩虹背景** + 静态色时钟 |
clock1/clock2 关键配置
// Wi-Fi
const char* ssid = "Your_SSID";
const char* password = "Your_PASS";
// 时区:UTC 偏移秒,如中国 UTC+8 → 8*3600 = 28800
int timezone = 8 * 3600;
int dst = 0; // 夏令时
// 颜色自定义 (0-255)
int r=255, g=255, b=255; // 数字颜色(白)
int br=0, bg=20, bb=10; // 背景色(深蓝绿)
时钟显示原理
- 96 LED 编号 0-95,按 6×16 矩阵映射(实际为六边形拓扑)。
- 预先手工编码每个数字(0-9)点亮的 LED 索引表:
hour12()~hour11()、min0()~min59()。 - 主循环:NTP 获取时间 → 解析时/分 → 清屏 → 点亮对应 LED →
FastLED.show()→ 延时 1 秒。 - clock2 在显示数字前调用
pride()渲染流动彩虹背景,再叠加数字前景色。
软件依赖与上传
- Arduino IDE 安装库:
FastLED、ESP8266WiFi(板包自带)、time.h(标准库)。 - 板管理器添加 ESP8266 源:
https://arduino.esp8266.com/stable/package_esp8266com_index.json,安装 esp8266 板包。 - 选择 NodeMCU 1.0 (ESP-12E Module),Flash Size 4M3M,上传波特率 921600。
- 上传成功后打开串口监视器 (115200) 观察 Wi-Fi 连接与 NTP 同步日志。
常见问题与优化
- 尾部 LED 颜色异常:电源压降 → 两端并联供电、缩短细线、加大线径或降低亮度
FastLED.setBrightness(180)。 - NTP 同步失败:检查时区设置、防火墙/UDP 123 端口、更换 NTP 服务器(
pool.ntp.org,time.nist.gov)。 - ESP8266 看门狗复位:主循环耗时过长(FastLED.show 约 3ms/帧),可在长延时处加
yield()或ESP.wdtFeed()。 - 动画卡顿:clock2 的
pride()计算量大,可降低帧率或简化算法。 - 扩展玩法:接入 MQTT/Home Assistant 实现远程控制颜色/亮度/模式;添加光敏/麦克风做声光互动。
资源下载
- STL 文件 & 全部固件:项目附件 “Click here for STL Files and Codes”
- 原理图:
schematics文件夹 PNG(含 Fritzing 面包板图)
制造工艺
- 防止虚焊:通过适当加热确保工业电子可靠性
- 布谷鸟钟:历史、工艺与现代演变
- 树莓派 + PIR 传感器 + MQTT 打造 AWS IoT 运动触发按钮
- 在树莓派 3 上扩展 GoPiGo v2 的 Windows 10 IoT Core 应用
- Arduino POV 时钟:自制视觉暂留 LED 显示器
- 智能植物物联网:Arduino 与 Azure 构建连接温室
- 自制大尺寸LED主时钟带闹钟功能 — 12米外清晰可见
- 无限镜面时钟:极致优雅与精准计时的融合
- 焊接工艺专业指南:原理、分类、操作步骤与材料演进
- 焊锡工艺全攻略:焊料分类、操作步骤、返修技术与避坑指南
- 专家指南:排查PCB波峰焊问题
- PCB 焊接工艺与核心资源详解:软焊/硬焊/钎焊全解析