基于STM32F103+ESP01S的复古桌面辉光管时钟开源项目介绍

描述

作为电子 DIY 爱好者,一直觉得市面上辉光管时钟的方案有些单一:要么是无 WiFi 功能的纯 STM32 设计,时间容易偏差;要么依赖 ESP32 主控,少了些单片机开发的专属体验。于是决定自己动手,以 STM32F103+ESP01S 为核心架构,经过 5 次打板和多轮代码调试,完成了这款兼顾复古颜值与实用功能的辉光管时钟。今天把完整制作过程、避坑要点和资料整理出来,分享给同样喜欢 DIY 的朋友。

01选择这个方案的核心考量

放弃常见的 ESP32 方案,转而采用 STM32F103 主控 + ESP01S 联网的组合,主要是看重两者的分工协作优势:STM32 负责辉光管驱动、传感器数据采集、OLED 显示等核心任务,ESP01S 专注 WiFi 通信与时间同步,各司其职让系统稳定性更高。另外,从某鱼购入的 4 只 IN12-B 辉光管(单价约 50 元)需要妥善保护,因此在设计中重点加入了防阴极中毒功能,延长使用寿命。

02核心功能详解

1. 双模式精准走时

联网状态下,ESP01S 通过 TCP 连接拼多多时间 API 获取 Unix 时间戳,转换为北京时间(UTC+8)后写入 DS1302 RTC 芯片,每日误差不超过 1 秒;断网时,DS1302 依靠 CR1220 备用电池独立运行,内置 RAM 保障时间不丢失,重新联网后自动同步校准,无需手动调整。

2. 辉光管防中毒设计

针对辉光管长期显示同一数字易出现阴极中毒的问题,设计了双重防护机制:默认每 10 分钟自动触发一次随机数字显示(持续 5 秒),同时支持 TTP223 触摸模块手动触

发,两种模式均采用非阻塞设计,由 TIM3 中断驱动,不影响正常时间显示。实际测试中,连续运行 1 个月,辉光管亮度保持均匀,无衰减现象。

3. 实用交互与显示

秒显示:采用两只氖管交替亮灭模拟秒跳动,避免辉光管额外负载;

WiFi 状态反馈:上电初始化时,4 路 DOT 指示灯(PB12~PB15)以流水灯形式提示连接进度,连接成功或超时后自动熄灭;

OLED 辅助显示:0.91 英寸 I2C 接口屏(128×64 分辨率)实时展示时间、DHT11 传感器采集的温湿度数据及 WiFi 连接状态,方便调试与日常查看。

03硬件清单

主控芯片 STM32F103C8T6 优先选择全新原装产品,避免拆机片带来的稳定性问题
WiFi 模块 ESP8266-01S 选购带排针版本,焊接前用 USB-TTL 模块测试 AT 指令可用性
辉光管 IN12-B ×4 二手市场性价比高,注意检查管脚完整性,避免漏液产品
驱动芯片 74HC595 ×5 国产芯片即可满足需求,级联时注意 Q7' 与下一片 DS 引脚的连接
RTC 时钟 DS1302(带电池座) 需搭配 CR1220 电池,确保断电后时间不丢失
温湿度传感器 DHT11 单总线通信协议,接线简单,适合新手使用
显示屏幕 0.91 英寸 OLED(I2C) 选择带电压转换模块的版本,避免直接接 5V 电源烧屏
高压三极管 13001 ×44 建议多备几支,焊接过程中易出现虚焊或损坏
电源适配器 12V DC(3W 以上) 选择有认证的产品,避免电压波动导致辉光管闪烁
外壳配件 3D 打印件(.3mf 文件) PLA 材料打印即可,表面可打磨后喷漆提升质感
部件 型号 / 规格 选购建议

   04 PCB&实物图 

  传感器传感器传感器

传感器

传感器

05开源资料

想了解更多开源项目的小伙伴去华秋开源硬件社区查看!欢迎大家来复刻,有商业诉求的,请联系项目的作者。

开源地址:

https://p.eda.cn/d-1359815789246414848

06结语

如果你也心动了,赶紧戳开底下的阅读原文解锁全部资料你打算用它做什么呢?又想给它加什么神仙功能?欢迎在评论区分享你的脑洞,也可以蹲一波详细复刻教程。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分