一块几十块的 ESP32 触摸屏,变成一个小巧的 ASCII 水族箱。
鱼是标点符号拼的:><(((°>。它们在屏幕里游动、结群、转身、变亮、互相避让;气泡往上冒,海草随水流摇曳。你点一下玻璃,鱼会游过来抢食。偶尔还会有一只章鱼或海马游过。
最妙的是,这不是视频循环。每一帧都是 ESP32 实时算出来的——鱼有行为,水族箱是活的。
这个项目叫 ASCII Aquarium[1], 412 Star ,被 Hackaday 报道过,标题是"一个住在你桌上的可爱 ASCII 水族箱"。
一句话:它把一块便宜的屏幕,变成了一缸有生命的标点符号。
它是什么:实时渲染,不是循环播放
先讲清楚它为什么跟"屏保"不是一回事。
市面上的电子水族箱,绝大多数是视频循环——录一段真鱼视频,循环播放,看久了就腻。 ASCII Aquarium 不一样,它是真的一帧一帧在 ESP32 上"演算"出来的。
每条鱼都是一个有状态的个体:它会自己游,会跟别的鱼结群,游到边缘会转身,会根据深度变亮变暗,会避开别的鱼。你点一下屏幕撒鱼食,最近的鱼会游过来追食。这些行为都不是预设的动画,而是实时算出来的。
背后的硬件是 Cheap Yellow Display——那个在创客圈很火的"便宜黄屏",正式型号 ESP32-2432S028R ,一块 320×240 的电阻触摸屏,加一颗 ESP32 芯片,淘宝几十块就能拿下。
这个选题妙就妙在"降维":一块本来是拿来显示数据、做界面的开发板,被拿去当了一个纯粹取悦眼睛的玩具。而且因为它是 ASCII 字符渲染,怀旧感拉满——像回到了那个终端里能看 ASCII 艺术的年代。
一块便宜屏幕,为什么能做这个
Cheap Yellow Display 这个硬件,值得说两句,因为它是很多 ESP32 创客项目的"平民之选"。
它把 ESP32 芯片、 320×240 的触摸屏、 SD 卡槽、扬声器接口全集成在一块板子上,几十块的价钱,比单买屏幕加开发板划算得多。所以过去一两年,它成了各种桌面小玩意的首选底座——时钟、天气、仪表盘、游戏机,都用它做。
ASCII Aquarium 是把它的潜力用到了"好看"这个维度上。 320×240 的分辨率,用来画点阵字符刚刚好; ESP32 的算力,跑一个几十条鱼的 ASCII 动画也绰绰有余。电阻屏的触摸,正好用来"点玻璃喂鱼"。
上手:浏览器里点一下,刷机就完成了
门槛低得舒服。它有个网页刷机工具——不用装 Arduino IDE ,不用配环境,打开网页,插上 USB ,选端口,点刷机,固件就进去了。
刷完之后,屏幕亮起,水族箱就活了。你能做的操作全在触摸屏上:
这种"打开网页就刷好"的体验,是这个项目能扩散开的原因之一。它把"折腾一块 ESP32"的门槛,压到了接近零。
局限:它是个好看的玩具,别指望更多
把话说实在。
第一,它就是个桌面玩具,不是工具,也不是生产力。它能让你心情好,但不能帮你干任何活。给它定位成"电子宠物"最准确。
第二,鱼的行为是简化的算法,不是真的仿生。结群、避让、追食,都是几十行代码里的简单规则,别拿它跟什么 AI 养鱼比。
第三,电阻屏的触摸手感一般,点玻璃喂鱼这种操作,精度和灵敏度都有限。
但换个角度看,这恰恰是它的价值所在。在大家都拿 ESP32 去做"有用"的东西时,有人拿它做了一缸"没用但好看"的 ASCII 鱼。它提醒了一件事:一块几十块的芯片,除了解决工程问题,还可以单纯地让人高兴。
想试试的话,去 ASCII Aquarium 仓库[1],网页刷机工具的链接就在 README 最显眼的位置。
参考链接
[1] ASCII Aquarium: https://github.com/POWER-PILL/ASCII-Aquarium