驴友花雕 发表于 4 天前

【Arduino 动手做】在 OLED 显示屏上 DIY ESP8266 动画沙漏

这是一个视觉和功能上有效的初学者项目,只需要三个组件即可构建。

沙漏,又称沙漏,是一种用来测量时间流逝的装置。它由两个玻璃球组成,两个玻璃球通过一个细颈连接,沙子从上面的玻璃球流到下面的玻璃球。

沙子的流量受到控制,因此需要一定的时间才能完全排空上部球体。沙漏通常用作时间管理工具和装饰品。这次,我将向您介绍一种制作数字版沙漏的简单方法。这是我DIY奇特时钟系列中的另一个例子,您可以在我的播放列表中查看。起初,我尝试使用Arduino Nano微控制器来制作这个项目,但很快我就意识到需要更强大的性能,所以我使用了ESP32,它足以应付更复杂的项目。



驴友花雕 发表于 4 天前

【Arduino 动手做】在 OLED 显示屏上 DIY ESP8266 动画沙漏

老实说,我最初的想法是使用 IMU 传感器根据流体运动定律对沙子的运动进行全面模拟,但至少到目前为止我还没有完全实现这个想法。

本项目中展示的设备制作极其简单,仅由 3 个组件组成。

ESP8266 微控制器板
SH1106 Oled显示屏,分辨率为128x64点,
和倾斜传感器
该设备使用单个锂电池供电。



驴友花雕 发表于 4 天前

【Arduino 动手做】在 OLED 显示屏上 DIY ESP8266 动画沙漏

倾斜传感器本质上是一个开关,当腿朝上时,它处于打开状态,当旋转 180 度时,它处于关闭状态。

该组件提供了显示沙漏两种状态的最简单方法,同时避免使用额外的传感器和库。

现在让我们看看该设备在实际条件下的表现。屏幕打开后,沙漏立即出现在起始位置,沙粒随机地从上方容器流向下方容器。所有沙子从上方容器流向下方容器的时间已在代码中设置,在本例中设置为恰好 1 分钟。沙漏上方显示从开始流动到读数所用时间的百分比。

在这种情况下,为了使沙漏尽可能逼真,可以在上下背景以及沙粒流动时观察到特定的动画效果。当沙子完全流完时(即60秒后),我们可以将时钟旋转180度,倒计时重新开始。如果我们在任意时刻旋转沙漏,它就会从头开始倒计时。

现在来谈谈代码。也就是说,你可以立即看到它并没有完全优化,它被分成了几个部分,但这一切都是为了更容易定制。

非常简单,通过改变代码开头的常量,你可以改变每一个参数,从玻璃容器的大小和形状、沙子的数量、沙子泄漏的持续时间和速度、圆顶参数,直到动画的强度和下落粒子的数量。

最后,简短总结一下。这是一个视觉和功能俱佳的入门项目,只需三个组件即可搭建,同时高度可定制,我们几乎可以根据自己对设备功能的想法,无限地更改所有物理参数。该组件安装在一个合适的盒子中,盒子由3毫米厚的PVC板制成,并覆盖有彩色自粘墙纸。













驴友花雕 发表于 4 天前

【Arduino 动手做】在 OLED 显示屏上 DIY ESP8266 动画沙漏

附录
【Arduino 动手做】在 OLED 显示屏上 DIY ESP8266 动画沙漏
项目链接:https://www.hackster.io/mircemk/diy-esp8266-animated-hourglass-on-oled-display-72b372
项目作者:北马其顿 米尔塞姆克(Mirko Pavleski)

项目视频 :https://www.youtube.com/watch?v=y0sKS_cReoU
项目代码:https://www.hackster.io/code_files/665243/download



页: [1]
查看完整版本: 【Arduino 动手做】在 OLED 显示屏上 DIY ESP8266 动画沙漏