感受时光的流动:制造一台水中气泡时钟

MAKER: ShinodaY/译:趣无尽(转载请注明出处)

「气泡时钟」通过在水中设置气泵,精确控制气泵的运行来产生气泡。这些气泡在内置 LED 灯的光线渲染之下闪闪发光,最终呈现出程序设定的数字、图形等。可用于显示当前时间。

其中我最喜欢的部分,是泡泡产生时发出的声音,以及看着他们缓缓飘升时所带来的时间流逝感。

由于纯水的粘度低,气泡运行的速度比较快。作者还用甘油替换了水做了另一个版本,气泡运行会更慢,气泡阵列在甘油中的运行也就显得更齐整,不容易走样。

本项目由 ESP8266 驱动,显示区域约 200mm 高,90mm 宽,分辨率宽度为 8 位。

组件清单

1、空气处理组件
电磁阀 8 个,常闭二通电磁阀更适合
带气阀的支管 8 个
透明亚克力管 ID7.0mm-OD10.0mm,长 220mm 8 根
透明亚克力管 ID6-OD8mm, ID4-OD7mm, ID3-OD6mm
管件接头 L-形 , I-形
透明亚克力板 厚度 2mm
黑色亚克力板 厚度 2mm

2、电路部分
ESP8266 开发板
OLED 显示屏,规格 0.91” 128×32
I/O 扩展 IC,MC23017
LED 灯条,NeoPixel: 8 根
FET(场效应管), 2SK2412 8 个
二极管,IN4002 8 个
电源适配器,规格 6V-1.8A

3、其他材料
透明玻璃花瓶 OD102mm – ID 96mm – 高度 250mm – 深度 240mm
两升水
箱体
胶水

切割亚克力部件

使用激光切割机将 PDF 文件(包含 adobe illustrator 数据)中的部件切出来。PDF 文件可以在项目文件库中下载:
https://make.quwj.com/project/391

部件清单如下:
BackPanel: 黑色,2mm 厚
PipeSupportBottom: 黑色,2mm 厚
PipeSupportUpper: 透明,2mm 厚
PipeSupport: 黑色,2mm 厚
L-jointSupport: 透明,2mm 厚
ValveSupport: 透明,2mm 厚
NeoPixel support: 透明,2mm 厚

组件空气处理部件

L-形透明管接头用来做空气喷嘴,将它们固定在「L-jointSupport」部件的孔上。

电磁阀和空气支管用扎带固定在「ValveSupport」部件上。

喷嘴、电磁阀、空气支管和气泵,通过尺寸合适的管子连接。

组装控制电路

这部分仅供参考,看不懂也属于正常情况。

WiFi 连接 ESP8266,通过 IO 扩展器控制 8 个电磁阀。I2C 接口接 OLED 显示屏,显示屏上显示当前时间。

8 个 NeoPixels 组成一条线,粘在亚克力部件上,每个 LED 灯珠都对准空气喷嘴下方,用来照亮气泡产生光影特效。

一切组装完成之后,在玻璃花瓶中装入两升水就可以开始下面的步骤了。

Arduino 编程

项目所用的代码在 GitHub 上可以下载。
https://github.com/ShinodaY/bubble-clock

或者在项目文件库中下载:
https://make.quwj.com/project/391

代码可能有点蹩脚,还夹杂了日文,请海涵:)
在代码中找到下面这行,将你的 wifi_ssid 和 wifi_password 替换之。

wifiMulti.addAP("your_wifi_ssid", "your_wifi_password”);

效果调校

调校对于气泡字符的显示效果显示尤为重要。

1、调节空气支管的 8 个手动阀门,以减小每个喷嘴的出气量、气泡上升的速度取决于出气量。

2、根据液体(也就是水)的温度、空气分离装置的规格等,修改 Arduino 代码中的气量、气泡间距的参数。

int bubbleDelay = 15; // delay time in m sec to keep solenoid valves open, define the air bubble volume
int bubbleSeparateDealy = 1000; // delay time in m sec to define the vertical gap beteen air bubbles

你还可以通过修改、添加字体数据,让气泡时钟显示你想要的字符和形状。

另外,长时间闭合所有阀门可能会导致气泵过热。需要确认你购买的气泵型号是否可以持续闭合,以及电磁阀的耐用性。

用这件气泡时钟来享受美好放松的时光吧!

via

1 评论

发表评论

你的邮件地址不会公开


*