驴友花雕 发表于 4 天前

【Arduino 动手做】带音效的动态 LED 沙漏 - ESP32和16x16矩阵

这是一个视觉上令人印象深刻的沙漏模拟项目,尽管它很简单,但有很多修改的可能性。

沙漏是一种用来测量时间流逝的装置。它由两个玻璃球组成,两个玻璃球之间通过一条狭窄的通道连接,使某种物质(通常是细沙)以恒定的速率从上方的玻璃球流向下方的玻璃球。

当所有沙子都流到下方的球体时,沙漏就会翻转,再次计时。沙子从一个球体完全流到另一个球体所需的时间取决于沙漏的大小和沙子的量。最近,在我之前的一个项目中,我向大家介绍了一种在小型 OLED 显示屏上创建虚拟沙漏的方法。



驴友花雕 发表于 4 天前

【Arduino 动手做】带音效的动态 LED 沙漏 - ESP32和16x16矩阵

在这个项目中,情况恰恰相反,我将向您展示另一种制作这种设备的简单方法,但现在是一个巨大的彩色“显示屏”,它实际上代表一个 16x16 的 LED 矩阵,每个 LED 都包含一个 WS2812b LED 芯片,以便每个 LED 都可以单独控制。

该装置制作起来非常简单,由几个部件组成。

ESP32开发板
带有 WS2812bLeds 的 16x16 LED 矩阵
倾斜开关
和小扬声器
这些组件被内置在一个合适的盒子中,这个盒子由 PVC 材料制成,是我为之前的一个项目制作的,在矩阵的正面有一个 3D 打印网格,您可以在本文末尾找到它的 .STL 文件。



驴友花雕 发表于 4 天前

【Arduino 动手做】带音效的动态 LED 沙漏 - ESP32和16x16矩阵

为了实现更逼真的模拟,我使用了倾斜开关,这样只要将时钟旋转 180 度,倒计时就会重新开始。如果我们查看代码,就会发现它的设计方式允许我们轻松更改几乎所有参数,从粒子数量到流速、LED 亮度,甚至颜色定义。

具体来说,我们可以改变沙漏壁、沙子、周围环境、内部空白处的颜色,以及数字的颜色。沙漏两侧的数字以秒为单位显示剩余时间。我还添加了简单的音效来开始和结束倒计时,以及一个短促的声音来指示每一秒的流逝。

让我们从头看看它在现实中是什么样子。开机后,会立即发出提示音,表示倒计时开始,并且每过一秒都会发出一声短促的“哔”声。上层碗里有30粒沙子,应该在1分钟内用完,所以每粒沙子在两秒钟内就会流到下层碗里。

下碗中的沙粒随机排列,这又一次接近了真实的模拟。一分钟后,会发出提示音效,表示倒计时结束,现在所有沙粒都集中到了下碗中。如果我现在将沙漏旋转 180 度,倒计时将从头开始。

最后,简短总结一下。这是一个视觉上令人印象深刻的沙漏模拟项目,尽管它很简单,但仍然有很多修改大多数参数的可能性。















驴友花雕 发表于 4 天前

【Arduino 动手做】带音效的动态 LED 沙漏 - ESP32和16x16矩阵

附录
项目链接:https://www.hackster.io/mircemk/dynamic-led-hourglass-with-sound-effects-esp32-16x16-d69c7f
项目作者:北马其顿 米尔塞姆克(Mirko Pavleski)

项目视频 :https://www.youtube.com/watch?v=ycQXSKxFcHU
项目代码:https://www.hackster.io/code_files/667869/download
3D 文件:https://hacksterio.s3.amazonaws.com/uploads/attachments/1841833/grille_yzfcnadxhw_IUOI8JHqYZ.stl



驴友花雕 发表于 4 天前

【Arduino 动手做】带音效的动态 LED 沙漏 - ESP32和16x16矩阵




页: [1]
查看完整版本: 【Arduino 动手做】带音效的动态 LED 沙漏 - ESP32和16x16矩阵