文章目录
这是一个为了一碗醋包了一盆饺子的故事。
之前为了测试 AI 写单片机代码能不能行,用 Manus 测试了一下,过程可以看这篇 《AI 编程在嵌入式开发中能用吗?体验 Manus 编写 ESP32 固件》,简单来说:能用。
这不为了让 AI 写出来的固件有用武之地,得把整个硬件开发完~
不过好在整个项目比较简单,而且单片机 ESP32-S3 直接用了现成的模块,PCB 几乎没有什么复杂的线路,就 LCD 的 PCB 有几个小一点的元件,主板 PCB 全都用了 2.54mm 的插件。
AI 生成数字图片
之前只介绍了固件是用 Manus 生成了,但是实际上,每个屏幕展示的模拟辉光管效果的数字图片,也是让 AI 生成的。
不过这次是让 ChatGPT 生成的,现在这些 AI 工具,简单是没有设计能力的工程师的福音,想要啥效果,吩咐 AI 就行了 😃。
提示词:
请生成辉光管效果的10个数字,包含数字 0 1 2 3 4 5 6 7 8 9,不需要外部玻璃罩效果
然后再按 80x160 像素的分辨率切分一下就完事。
AI 生成固件代码
这个可以参考之前分享的文章《AI 编程在嵌入式开发中能用吗?体验 Manus 编写 ESP32 固件》,用了两次提示词,最终生成了一个可编译的固件。
但是实际上还是需要修改一下生成的代码,但是相比从头开始写,还是省力不少。
PCB 设计
为了简单,这次主控 ESP32-S3 直接用淘宝上购买的模块了,然后 LCD 屏幕也使用 2.54mm 金手指连接器直接插进去,这样的话,整块主板就全是 2.54mm 的插件了,焊接相当简单。
LCD 驱动板
LCD 是 0.96 寸液晶屏,驱动芯片是 ST7735,分辨率 160x80,理论 PPI 也有 180 多,准视网膜屏幕了。
LCD 屏幕驱动板没有啥特别的,主要就是背光需要添加一个三极管驱动电路,从立创开源平台找了个项目参考了一下。
最后实际焊接的时候发现限流电阻用 100R 太大了,就直接用 0R 代替了,然后在固件中通过 PWM 通过亮度。
主控板
主板没什么好说的, 6 个 2.54mm 金手指连接器,间隔 30mm 排列,另外再加 2 个 22P 的 2.54mm 排针插座。
所有屏幕使用了同一个 SPI 总线,共用了 CLK、MOSI、DC,另外背光保持一致,BLK 也共用了一个 GPIO。理论上 RST 也可以共用?保险起见 RST 和 CS 都每个屏幕单独使用一个 GPIO 了。
ESP32-S3 用模块的好处就是,5V 转 3.3V 供电都省了,直接从 ESP32-S3 模块上取电 😃。
PCB 焊接
搞这个模拟辉光管时钟,第一次碰到了打样 5 片 PCB 不够用的情况 😃,虽然一般这么小尺寸的 PCB 会多给几片,不过这次刚好就 5 片,只能再打一次样才能凑齐。
5 片 PCB 也可以装上看看效果,感觉也不错。
外壳模型
本来外壳模型也让 AI 生成了一个,但是效果太复杂,没能力转成可打印的模型,想想还是算了,简单搞一个长方体就好了。
本来顶面是准备齐平的,但是因为 ESP32-S3 模块 + 2.54mm 排针插座高度太大了,会让主体外壳非常高,整体比例看上去就相当不协调。
在网上找了一些参考,就把顶盖的玻璃罩座加高了一点,这样可以让屏幕和主体的高度比例更协调一些。
不过如果不用排针插座,直接把 ESP32-S3 模块焊接在 PCB 上的话,主体外壳的高度还是可以进一步压缩的。
成品效果
在等第二批 PCB 到了之后就可以把整个模拟辉光时钟组装起来啦~看着效果还可以。
这次这个 DIY 相当简单,外壳是简单的长方体,PCB 主要都是插件焊接,代码和设计全靠 AI 搞定,相当不费脑子 🙈。
0 条评论。