基于 ESP32 的创意电子时钟的设计与实现

2023-05-289133
AI 快速预览详细 收起
本文介绍了学生在老师指导下,使用掌控板2.0和ESP32-C3设计并制作的多功能电子时钟。硬件清单包括掌中宝、Type-C数据线和啪啪圈。通过mPython编写程序,实现了网络授时、数码管显示、模拟指针时钟及天气信息显示等功能。最终效果是一个轻便小巧、适合书桌学习场景的多功能电子时钟。

指导学生:郭骊雯 张思淇 陈嘉妍
创意来源:
一直以来,人们对于精确时间的探索从未停止。通过不同类型时钟的研究和制作,从日晷、摆钟到石英钟和原子钟,我们的先人以及科学家们对于时间、对于秒有着不同时期的定义和理解。
如今,时钟是我们学习和生活中常用的一种计时器,人们通过它来记录时间。我们的日常生活充斥着各种类型的时钟,但是往往千篇一律、缺乏个性。于是,萌生了动手制作独一无二时钟的想法,享受创造带来的乐趣。

创意收集:
收集创意也是头脑风暴的过程。观察生活中的时钟,收集相关资料,尝试将时钟归类,建立相应的概念。与此同时,根据手头已有的设备,提出电子时钟的相关设想、创意:
首先,电子时钟的核心组成部分为可编程的内置锂电池供电的掌中宝时钟,可切换数字时钟、指针时钟、天气状况、时钟陪伴多种模式。
其次,掌中宝时钟可以独立摆放在桌面上,外观轻便小巧。
再次,掌中宝时钟非常方便地装卸在笔筒装置前面,该装置提供 Type-C 充电,兼具收纳功能,轻松放置于桌面,适合书桌学习场景。
最后,掌中宝时钟与啪啪圈结合组成的手环装置,轻松佩戴手上,适应人体移动时的使用场景。

硬件设计与实现:
根据已有的硬件条件和团队能力、水平设计硬件方案。解决方案的设计充分考虑情境、成本、可行性等限制条件。
1. 硬件清单包括掌中宝(包括掌控板2.0*1、拓展板掌控宝2.0*1、硅胶套*1)、Type-C数据线*1、啪啪圈*1。
2. 我们测量不同硬件的尺寸,图纸勾画草图,用 LaserMaker 软件进行数字创作,再用激光切割机将2.7毫米厚的木板切割出装置所需的零件。
3. 设计一个笔筒装置,该装置提供 Type-C 充电,兼具收纳功能,同时方便掌中宝时钟的装卸。设计时充分考量不同硬件的尺寸,同时榫卯结构的设计易于装置的组装和长久使用。笔筒的正面是传统的时钟图案,留有掌中宝放置的凹槽,侧面是创意电子时钟的使用说明,顶部除了留有笔筒的开孔还有数据线可以穿过的孔位。
基于 ESP32 的创意电子时钟的设计与实现图1
file:///C:/Users/HUANGS~1/AppData/Local/Temp/msohtmlclip1/01/clip_image002.png
4. 使用激光切割出手环装置的零部件,与啪啪圈、掌中宝时钟组合在一起,轻松佩戴于手上,适应人体移动时的使用场景。
基于 ESP32 的创意电子时钟的设计与实现图2
最后,将切割的装置进行组装,测试以及迭代设计。

程序设计与实现:
根据设想的功能需求,使用mPython 进行程序设计。
首先,引入主程序,定义变量 model。
基于 ESP32 的创意电子时钟的设计与实现图3
1. 通过编写 start 函数,接入互联网,同步网络时间,与东8区 NTP 网络授时服务器通信。
基于 ESP32 的创意电子时钟的设计与实现图4

2. 编写 my_eclock 函数,使用软件内置本地时间函数,将当前时间即年月日、时分秒以数字形式仿数码管像素的方式呈现出来,其中,定时器作循环语句,定义列表将数字星期以中文形式呈现。

基于 ESP32 的创意电子时钟的设计与实现图5

3. 编写 my_watch 函数,使用软件内置指针函数,将当前时间以模拟指针时钟形式呈现,同样使用定时器每秒重复执行。

基于 ESP32 的创意电子时钟的设计与实现图6

4. 编写 my_weather 函数,添加心知天气网络应用拓展,注册账号获取 API 私钥,实现所需功能。显示当前城市名称,今日天气阴晴、气温、运动指数和紫外线情况。

基于 ESP32 的创意电子时钟的设计与实现图7

5. 编写 my_date 函数,分为两个部分,一是计算时间差也就是时、分、秒,二是计算日期差也就是年和天数。两个日期之间相减,如果相减得到负数的话,需要向上借位。时间相关的进制以及转换为:一天 24 小时,逢 24 进 1,就是二十四进制;一星期 7 天,逢 7 进 1,就是七进制;一年 12 个月,逢 12 进 1,就是十二进制;而时、分、秒之间为六十进制。绝对值将得到的负数转化为正数。int 是将浮点数转化为整数。

基于 ESP32 的创意电子时钟的设计与实现图8

最后,设计触发事件,当触摸键 N 被触摸时(N 取自单词 Next 的首字母),变量增加1,并使用 if 逻辑跳转不同函数,清楚上一个函数使用的定时器事件,实现场景切换的效果。

基于 ESP32 的创意电子时钟的设计与实现图9

作品实物:

基于 ESP32 的创意电子时钟的设计与实现图10基于 ESP32 的创意电子时钟的设计与实现图11基于 ESP32 的创意电子时钟的设计与实现图12
基于 ESP32 的创意电子时钟的设计与实现图13基于 ESP32 的创意电子时钟的设计与实现图14

ESP32-C3 篇
之前考虑过除了掌控板以外的开源硬件方案,正好,DF 创客社区有 ESP32-C3 的试用的机会,体积小巧,经济实惠,适合捣腾。
学着群里的老师们焊起针脚,接入0.96 显示屏,然后使用 Mixly 米思齐编写网络授时时钟程序。
基于 ESP32 的创意电子时钟的设计与实现图15
基于 ESP32 的创意电子时钟的设计与实现图16

参考资料

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(4)
花生编程
花生编程
赞赞赞赞赞!好棒啊!
花生编程
花生编程
厉害厉害!
流浪剑士
流浪剑士
戴手上这个没绷住
恩果
恩果
作者
回复流浪剑士
可以搞很多事情
腿毛利小五郎
腿毛利小五郎
哈哈哈哈带手上有点显大了
- 没有更多了 -