2988| 5
|
[ESP8266/ESP32] 基于 ESP32 的创意电子时钟的设计与实现 |
本帖最后由 恩果 于 2023-11-13 14:48 编辑 掌控板篇 指导学生:郭骊雯 张思淇 陈嘉妍 创意来源: 一直以来,人们对于精确时间的探索从未停止。通过不同类型时钟的研究和制作,从日晷、摆钟到石英钟和原子钟,我们的先人以及科学家们对于时间、对于秒有着不同时期的定义和理解。 如今,时钟是我们学习和生活中常用的一种计时器,人们通过它来记录时间。我们的日常生活充斥着各种类型的时钟,但是往往千篇一律、缺乏个性。于是,萌生了动手制作独一无二时钟的想法,享受创造带来的乐趣。 创意收集: 收集创意也是头脑风暴的过程。观察生活中的时钟,收集相关资料,尝试将时钟归类,建立相应的概念。与此同时,根据手头已有的设备,提出电子时钟的相关设想、创意: 首先,电子时钟的核心组成部分为可编程的内置锂电池供电的掌中宝时钟,可切换数字时钟、指针时钟、天气状况、时钟陪伴多种模式。 其次,掌中宝时钟可以独立摆放在桌面上,外观轻便小巧。 再次,掌中宝时钟非常方便地装卸在笔筒装置前面,该装置提供 Type-C 充电,兼具收纳功能,轻松放置于桌面,适合书桌学习场景。 最后,掌中宝时钟与啪啪圈结合组成的手环装置,轻松佩戴手上,适应人体移动时的使用场景。 硬件设计与实现: 根据已有的硬件条件和团队能力、水平设计硬件方案。解决方案的设计充分考虑情境、成本、可行性等限制条件。 1. 硬件清单包括掌中宝(包括掌控板2.0*1、拓展板掌控宝2.0*1、硅胶套*1)、Type-C数据线*1、啪啪圈*1。 2. 我们测量不同硬件的尺寸,图纸勾画草图,用 LaserMaker 软件进行数字创作,再用激光切割机将2.7毫米厚的木板切割出装置所需的零件。 3. 设计一个笔筒装置,该装置提供 Type-C 充电,兼具收纳功能,同时方便掌中宝时钟的装卸。设计时充分考量不同硬件的尺寸,同时榫卯结构的设计易于装置的组装和长久使用。笔筒的正面是传统的时钟图案,留有掌中宝放置的凹槽,侧面是创意电子时钟的使用说明,顶部除了留有笔筒的开孔还有数据线可以穿过的孔位。 file:///C:/Users/HUANGS~1/AppData/Local/Temp/msohtmlclip1/01/clip_image002.png 4. 使用激光切割出手环装置的零部件,与啪啪圈、掌中宝时钟组合在一起,轻松佩戴于手上,适应人体移动时的使用场景。 最后,将切割的装置进行组装,测试以及迭代设计。 程序设计与实现: 根据设想的功能需求,使用mPython 进行程序设计。 首先,引入主程序,定义变量 model。 2. 编写 my_eclock 函数,使用软件内置本地时间函数,将当前时间即年月日、时分秒以数字形式仿数码管像素的方式呈现出来,其中,定时器作循环语句,定义列表将数字星期以中文形式呈现。 3. 编写 my_watch 函数,使用软件内置指针函数,将当前时间以模拟指针时钟形式呈现,同样使用定时器每秒重复执行。 4. 编写 my_weather 函数,添加心知天气网络应用拓展,注册账号获取 API 私钥,实现所需功能。显示当前城市名称,今日天气阴晴、气温、运动指数和紫外线情况。 5. 编写 my_date 函数,分为两个部分,一是计算时间差也就是时、分、秒,二是计算日期差也就是年和天数。两个日期之间相减,如果相减得到负数的话,需要向上借位。时间相关的进制以及转换为:一天 24 小时,逢 24 进 1,就是二十四进制;一星期 7 天,逢 7 进 1,就是七进制;一年 12 个月,逢 12 进 1,就是十二进制;而时、分、秒之间为六十进制。绝对值将得到的负数转化为正数。int 是将浮点数转化为整数。 最后,设计触发事件,当触摸键 N 被触摸时(N 取自单词 Next 的首字母),变量增加1,并使用 if 逻辑跳转不同函数,清楚上一个函数使用的定时器事件,实现场景切换的效果。 作品实物: ESP32-C3 篇 之前考虑过除了掌控板以外的开源硬件方案,正好,DF 创客社区有 ESP32-C3 的试用的机会,体积小巧,经济实惠,适合捣腾。 学着群里的老师们焊起针脚,接入0.96 显示屏,然后使用 Mixly 米思齐编写网络授时时钟程序。 参考资料 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed