小伙用256颗灯珠,做了个电子“海洋”!


01
基于FLIP流体模拟算法制作
颜色/水位会随时间变化:比如正午时灯光是青色,午夜时灯光是绿色
低功耗:无操作15秒后自动熄灭
演示一下!
颜色变化演示:

休眠演示:

看功能,挺简单的样子啊!
硬件估计只需要一个灯板+控制板就能搞定,主要功夫还在软件层面?下面看看它的硬件、软件方案
作者用嘉立创EDA设计了2块PCB板:

原理图

PCB图

原理图

PCB图
硬件参数
尺寸:8*32,尺寸支持免费打样
灯珠:256个1010封装灯珠
主控:ESP32-S3
姿态传感器:mpu6050
电池:601235,300mah,厚度不超过6mm
透明管:关键词:pc包装管、线香管;尺寸:长100mm,外径19mm,内径18mm
铜箔胶带:用于触摸感应,尺寸随意购买即可,需要购买双面导电的胶带
软件已开源,想复刻的朋友可以直接参考原文,安装核心库,烧录固件。都很常规。
软件最有意思的地方,还是第4小节的“如何实现灯珠变色”以及“如何设置不同时间的水位变化”。
我安装的版本是3.0.2。esp32核心库的3.0版本与2.0版本存在较大差异,请尽量安装3.x.x版本。

ws2812驱动库,使用FastLED库

使用arduino ide烧录,我的工具栏设置如下

1:可修改灯珠颜色
在water_sim.cpp文件夹中第40行的位置可选择调色板序号,有三种调色板可供选择(0~2)

在其下方可调整不同调色板的颜色

2:可修改最高潮和最低潮时的水位
通过主控获取时间,实现设置高潮和低潮时的水位
如何修改水位?
在water_sim.cpp文件夹中第25行的位置

如何修改不同时间对应的水位?
在time_sync.cpp文件夹中第13行的位置

小编OS:如何让“简单”的作品有“灵魂”?或许你的作品,只差一个,这种看似简单的软件设计巧思
灯珠焊接强烈建议smt
手贴非常折磨并且极易失败!
你喜欢这个作品吗?如果是你,你会怎么设计它?欢迎评论区唠唠丫!
目前,项目已全开源!
——想复刻?想给作者点赞?下面会附上开源网址↓,欢迎大家在遵循作者开源协议的情况下,友好复刻学习~~




