步骤1 项目概述
基于ESP32开发板的智能网络时钟系统,通过Mixly图形化编程实现以下核心功能:
1.网络授时:通过Wi-Fi连接NTP服务器自动同步北京时间(东八区)
2.双模式显示:
a常态显示:TM1637数码管显示当前时间(格式:时:分)
b互动显示:晃动设备后切换显示日期(格式:月-日),持续3秒后自动恢复
3.时间可视化:12位RGB灯环动态展示时间
a小时:红色LED位置指示(12小时制)
b分钟:蓝色LED位置指示(5分钟/灯)
c秒钟:绿色LED位置循环(5秒/灯)
步骤2 硬件配置
步骤3 电路连接
电源说明:
升压模块:3.7V转12V迷你DC-DC升压模块,选择8V档位
当使用 VIN 引脚为开发板供电时,其输入电压要求是如下:
典型推荐范围:5V - 12V;绝对安全范围:5V - 9V (更推荐);最低电压: 通常需要 略高于 5V (大约 5.5V - 6V 或更高),才能确保板载稳压器能稳定输出所需的 3.3V。输入电压过低可能导致 ESP32 工作不稳定或无法启动;最高电压: 虽然很多开发板的板载稳压器(通常是 AMS1117-3.3)理论上可以承受最高 15V 甚至 20V 的输入,但强烈建议不要超过 12V。
步骤4 程序说明
1.初始化程序说明:
a变量声明:
时、分、秒(整数型存储当前时间)
maohao(布尔型,初始值true):控制时间显示的冒号闪烁
qiehuan(布尔型,初始值false):控制显示模式切换
b硬件初始化:
RGB灯环配置到D2引脚(12位WS2812B)
TM1637数码管配置(CLK=D26, DIO=D27)
晃动传感器设为D25输入模式
c网络配置:
预设Wi-Fi账号密码
设置NTP服务器(时区+8,600秒自动同步)
2.主循环逻辑
a持续监测D25引脚电平状态
b当检测到高电平(晃动触发):
立即设置qiehuan = true
3.函数“mie”说明:
该部分在程序多处出现,使用函数可方便调用,简化程序。
4.定时器1(500毫秒周期)说明
该定时器每500毫秒触发一次,实现双重核心功能:
a冒号闪烁控制
通过取反布尔变量maohao的值(真/假切换),控制数码管中间冒号的亮灭状态,形成每秒闪烁一次的视觉提示(500ms亮 + 500ms灭),使时间显示时:分格式更具可读性。
b显示模式切换
持续检测变量qiehuan的状态:当其为真(由晃动传感器触发),立即切换数码管显示内容为月-日格式(如"7-26"),同时激活RGB灯环特效显示,并在保持3秒后自动恢复时间显示模式,重置qiehuan为假。
5.定时器2(1000毫秒周期)说明
该定时器每秒同步执行以下关键操作:
a时间数据更新
优先从NTP服务器获取最新时间数据,刷新时、分、秒变量值,确保时间准确性。
b RGB灯环动态映射
小时指示:计算小时值% 12确定红色LED位置(12小时制)
分钟指示:计算分钟值/ 5(取整)确定蓝色LED位置(每5分钟切换一个灯位)
秒钟指示:计算秒钟值/ 5(取整)确定绿色LED位置(每5秒切换一个灯位)
c显示重置
调用mie()函数关闭所有LED后,根据映射结果更新灯环显示,形成时间可视化效果。
步骤5 项目总结
本项目将废旧纸盒与ESP32开发板结合,指导学生构建了一款具有实用价值的物联网网络时钟。通过Mixly图形化编程,实现了NTP网络自动授时、TM1637数码管双模式显示(时间/日期切换)及12位RGB灯环可视化时间功能。学生实践中掌握了传感器应用、DC-DC升压电路原理及安全供电设计(3.7V锂电池→8V升压),在培养硬件搭建能力的同时,深化了"科技向善,变废为宝"的创客理念,为后续物联网创新项目奠定基础。
步骤6 视频演示
作者公众号
附件
qyj1332025.07.26
修改一处图片错误:数码管供电电压3.3V。VIN电源输入电压是8V