
ESP32C3炫酷时钟灯
简介
基于ESP32+MPU6050+WS2812灯环的桌面摆件,集成时钟、7种重力灯效、7种流水灯效、WiFi对时与自动休眠,触摸与编码器交互。
简介:基于ESP32+MPU6050+WS2812灯环的桌面摆件,集成时钟、7种重力灯效、7种流水灯效、WiFi对时与自动休眠,触摸与编码器交互。开源协议
:Public Domain
描述
工程描述
1. 项目概述
本项目是一款基于 ESP32 的多功能智能桌面摆件,将时钟、姿态感应、灯光艺术与屏幕动画集于一体。通过 MPU6050 六轴传感器感知桌面倾斜与震动,驱动 60 颗 WS2812 全彩 LED 灯环呈现丰富的动态灯效,同时搭配 0.96 英寸 IPS TFT 屏幕显示时间、状态与交互菜单。
2. 功能详述
2.1 时钟功能
- 大字时间显示(HH:MM:SS),底部显示日期(YYYY-MM-DD),顶部显示星期
- LED 灯环模拟模拟时钟指针:时、分、秒三针分别以蓝、绿、红三色显示
- 两种指针模式:步进模式(三针独立显示)和进度条模式(秒针红色拖尾)
- WiFi 连接状态下支持 NTP 自动对时,每 30 分钟同步一次
- WiFi 状态指示:已连接显示绿色编号,未连接显示红色感叹号
- 支持手动设置年、月、日、时、分、秒
2.2 重力感应灯效
倾斜桌面的物理方向驱动 LED 灯环变化,共 7 种模式:
模式 1 - Dots(引力光点)
5 颗 LED 在重力方向聚集,色相随方向极慢渐变,中心亮度最高、两侧衰减。
模式 2 - Rainbow(彩虹光环)
60 颗 LED 铺满 HSV 全色相彩虹,重力反方向叠加白色高光点,旋转桌面时光点随之移动。
模式 3 - Gradient(重心光晕)
以重力方向为轴,一侧呈暖色渐变(红橙黄)、对侧呈冷色渐变(蓝紫),模拟日落光晕效果。
模式 4 - Bubble(水银气泡)
模仿水平仪中的水银气泡:一个亮白色光斑始终浮在灯环物理最高点,倾斜桌面时气泡沿环移动,具有惯性跟手感。
模式 5 - Swing(摇摆流光)
检测桌面晃动幅度,力度越大沿摇摆方向点亮的 LED 数量越多,颜色随时间缓慢循环。静止时灯环全灭。
模式 6 - Compass(罗盘指向)
通过陀螺仪积分追踪绝对方向,金色光柱锁定在固定方位角。无论桌面如何旋转,光柱始终指向同一地理方向。
模式 7 - Ripple(震动波纹)
检测加速度突变(敲击桌面),在震动位置触发一对双向扩散的彩色波纹,波峰逐渐衰减消失。
2.3 流水灯效
LED 灯环自动循环动态灯光,共 7 种模式:
模式 1 - SineWave(正弦波流光)
两列不同周期的正弦波在灯环上叠加流动,形成如丝带飘动的柔光效果。
模式 2 - Meteor(彩虹流星)
60 颗 LED 全部点亮,色相整体持续旋转,首尾相接形成闭环彩虹旋转效果。
模式 3 - Checker(棋盘格)
奇数位红色、偶数位蓝色交替排列,整体旋转,形成红蓝棋盘格滚动效果。
模式 4 - Half(红蓝半球)
灯环一半红色、一半蓝色,分界线持续旋转,两侧颜色互不干扰。
模式 5 - Segments(三色分段)
灯环均分为红、绿、蓝三段色块,缓慢整体旋转,色彩边界清晰。
模式 6 - Quad(四象限扫描)
四束白光从四个象限位置向中心汇聚,到达后再向外发散,形成十字交叉扫描效果。
模式 7 - Binary(二进制计数)
6-bit 二进制数值映射到灯环位置,数值递增时对应 LED 亮灭变化,形成滚动计数器效果。
2.4 屏幕显示模式
在设置菜单中可选择三种屏幕显示风格:
- 动态界面:时钟界面显示数字时间与日期,重力 / 流水界面显示当前模式名称、分类标签、简介说明与编号
- 静态图片:居中显示内置图片,可通过 Python 脚本将任意 JPG 转为位图数据嵌入固件
- 眼球动画:屏幕显示一对卡通眼球,瞳孔随当前场景动态变化 — 时钟模式瞳孔追踪秒针 360 度旋转;重力模式瞳孔跟随倾斜方向偏移;流水模式瞳孔以螺旋线旋转呈现眩晕效果
2.5 设置与校调
长按触摸键 2 秒进入设置菜单,旋转编码器选择项目,触摸单击确认进入编辑,SW 单击或双击触摸返回。
日期时间设置 — 可逐位设置年、月、日、时、分、秒。设置完成后若为 Auto 模式且 WiFi 已连接,立即执行一次 NTP 对时。
MPU6050 校准 — 六点均匀分布校准(0 度、60 度、120 度、180 度、240 度、300 度)。灯环上显示目标光点,将摆件旋转至光点与参考方向对齐后确认,依次完成全部六点。校准数据用于修正安装偏差。
亮度调节 — 五档全局亮度(20% / 40% / 60% / 80% / 100%),调节时灯环以红色实时预览当前亮度。
WiFi 管理 — 支持预置 4 组 SSID 与密码,设置内可选择并切换连接,显示当前连接状态。
显示模式 — 切换前述三种屏幕显示风格。
自动休眠 — 开关控制,时长 1 至 30 分钟可调,无操作倒计时归零后自动进入休眠。
2.6 休眠与唤醒
- 休眠状态下 ESP32 继续运行,维持软件时钟走时
- LED 供电硬件切断,屏幕背光关闭
- 触摸按键、SW 按键、编码器旋转均可唤醒
- 唤醒后恢复至关机前的界面状态,无需重新初始化
3. 交互逻辑
3.1 按键定义
系统定义两种物理按键和一种旋转输入:
- Touch(触摸按键):支持单击、双击、长按三种手势
- SW(编码器按键):支持单击、长按两种手势
- Encoder(编码器旋转):顺时针 / 逆时针旋转,每格触发一次
3.2 全局操作
| 操作 | 非设置状态 | 设置状态 |
|---|---|---|
| Touch 单击 | 切换当前界面的子模式 | 确认 / 进入编辑 |
| Touch 双击 | 循环切换三大界面 | 返回上一级 |
| Touch 长按 2s | 进入设置菜单 | — |
| SW 单击 | 循环切换三大界面 | 返回上一级 |
| SW 长按 2s | 关机休眠 | — |
| 编码器旋转 | 切换当前界面的子模式 | 菜单导航 / 数值增减 |
3.3 界面切换流程
上电 → 时钟界面 ←→ 重力界面 ←→ 流水灯界面
↑ Touch双击 / SW单击 循环切换 ↑
三个主界面各自独立记录当前子模式编号,界面切换后回到上次停留的子模式。
4. 物理结构建议
- LED 灯环水平安装在圆形底座顶部,灯珠朝上或朝外
- MPU6050 模块水平固定于底座中心,确保 X-Y 平面与桌面平行
- TFT 屏幕竖立或倾斜安装于灯环内侧或底座正面
- EC11 编码器旋钮露出外壳侧面,方便拇指操作
- 触摸按键区域标识清晰,与编码器保持一定间距避免误触
- 推荐使用 3D 打印或亚克力激光切割制作外壳,底座预留配重空间以增加稳定性
- 灯环区域使用半透明漫反射材料以获得均匀柔光效果
5. 复刻成本
以下为各组件参考价格(2026 年 6 月国内市场均价),整体复刻成本约 30~80 元。
| 组件 | 规格 | 参考单价 |
|---|---|---|
| ESP32C3 开发板 | ESP32-C3-WROOM-02-N4 2.4GHz WiFi+蓝牙BLE5.0无线模块模组 | 9~12 元 |
| MPU6050 模块 | GY-521 六轴传感器 | 5~8 元 |
| WS2812 灯 | 60 颗全彩 LED,环形 PCB | 5~15 元 |
| TFT 显示屏 | ST7735S 0.96" IPS 160x80 | 7~15 元 |
| SIQ-02FVS3旋转编码器 | 含按键,带旋钮帽 | 6~7元 |
| 触摸按键 | TTP223-BA6 | 1~3 元 |
| 其他 | 排针、导线、MOS 管、电阻等 | 3~5 元 |
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

![[Pacon]赛博挂坠](https://image.lceda.cn/oshwhub/pullImage/125a05186c6d420d929370e81091c3fc.jpg?x-oss-process=image/resize,w_122,h_85,m_lfit/format,webp)








