[ESP8266/ESP32]用ESP32做一个数字沙漏 精华

2024-4-24 14:30:08 [显示全部楼层]
56183浏览
查看: 56183|回复: 1

[ESP8266/ESP32] 用ESP32做一个数字沙漏

[复制链接]
本帖最后由 RRoy 于 2024-4-24 14:30 编辑

沙漏用来形象地显示时间的流逝,现在市面上很难找到大型沙漏了,常见的只有厨房用的小沙漏,大概能显示3到5分钟。

在这个项目里,作者制作了一个完整流程正好为一小时的沙漏,小时数会在顶部的玻璃上显示。

这个项目的构建和编程都相当简单,只需要你有一些基础的Arduino知识就行。同时,沙漏在外观设计上也留有很大的发挥空间。

用ESP32做一个数字沙漏图1

所需材料
用ESP32做一个数字沙漏图2
  • ESP32
  • 2个 GC9a01 圆形显示屏
  • RTC 模块
  • 导线
  • 用于外壳的材料:木材、纸板、塑料、3D打印
步骤1:接线
这个是整个项目中可能相对最复杂的部分,但是别担心,一步一步来,你会发现也没那么难。

显示屏和RTC都需要一个3.3V的电源和GND。

用ESP32做一个数字沙漏图3

RTC还需要两个额外的连接:

用ESP32做一个数字沙漏图4

按照表格连接显示屏。TFT1是上方的显示屏,TFT2是下方的。
步骤2:程序和RTC
对于ESP32,你需要在Arduino IDE中进行以下设置:

将程序上传到ESP32。如果接线正确,应该可以正常工作。

RTC模块通过无线电加密信号获取时间。可能需要几分钟才能显示正确的时间。从接收到的数据中分离出分钟和小时数,并用于我们的程序。

分钟数被转换为沙子三角形的坐标,确保沙子的流动正好持续一小时。

小时数只在上方的玻璃上显示。

上传 HourGlass.ino 或 HourGlass-demo.ino 到你的ESP32。确保 colors.h 文件在同一文件夹中。

程序可以在文末打包下载。
步骤3:图形工作原理
图形由简单的几何元素组成。上方的沙子最初显示为一个填充矩形(tft1.fillRect(…))。由于圆形显示屏,这实际上无法识别。沙子流动形成的圆锥是通过一个黑色三角形模拟的,这个三角形随时间改变形状和位置。底部堆积的沙子也由三角形表示。

小时数简单地显示在上方的玻璃上。
步骤4:外壳
作者倾向于使用3D打印机制作的外壳,使用Tinkercad设计。

作者将其分成3部分,这样时钟就可以轻松放入孔中。这是能得到的最接近沙漏形状的设计。

用ESP32做一个数字沙漏图5

stl文件可以在文末打包下载。

你不用将沙漏翻转。沙子会在一小时后神奇地“移回”上方的玻璃中。

原文地址:https://www.instructables.com/Digital-Hourglass/

项目作者:Markus Opitz

译文首发于:DF创客社区

转载请注明来源信息

数字沙漏.zip

90.29 KB, 下载次数: 24

刘睿鹏  学徒

发表于 5 天前

圆形屏幕哪来的?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail