标签存档: 电子DIY

3 步从 nana banana AI 生成的复古小电脑到真实桌面小玩具

先看看有屏幕的地方就有的 Bad Apple:

PS. 音乐是后期加进去的 🙈。

源起

这一些源于之前在 MakerWorld 上看到的摸鱼小副屏,对这种可交互的小玩具特别感兴趣,我还复刻了一个,并且把内部改造了一下,换成香橙派开发板,跑了一下 Mac OS 9,虽然有点慢 😃(见:摸鱼小电脑能跑 MacOS 了,就是速度慢到怀疑人生)。

一直以来建模只会搞横平竖直简单类型的模型,对于这种带造型的模型,完全没有能力,不过最近 nana banana 很火,突然想到现在各种 AI 工具已经相当成熟了,是不是也可以借助 AI 来实现呢,说干就干。

PS. 稍微标题党了一下,这从 AI 生成到完成 3D 打印,也用到了其他平台,以及最终加装 MCU + 屏幕也花了额外的时间 🥳。

第 1 步:让 AI 生成期望的模型

这一步一开始是让 Gemini 2.5 Flash nano banana 生成的,但是感觉可能因为没有 Thinking,效果不是很好,后来换成 ChatGPT …

阅读全文 »

不到 1 元,64K Flash + 8K RAM:CH32V006 直驱彩色 TFT LCD,100 FPS 无压力

上上周发了篇文章介绍了一下用 CH32V003 做过的项目(那些年用 7 毛钱单片机 CH32V003 做过的 DIY 项目),总的感觉用起来还是很舒服的,不过最近也了解到沁恒推出了差不多加量不加价的 CH32V006,资源不止翻倍, 价格在某宝上也只要 8 毛钱一颗

稍微研究了下,发现 CH32V006F8P6 和我在用的 TSSOP20 封装的 CH32V003F4P6,可以算是能 Pin2Pin 替换,这连开发板都可以直接用之前自己画的 V003 的开发板 PCB 😃。

0.96 寸 TFT LCD 驱动实测

之前用 CH32V003 的时候,即使它有 SPI 总线,但是 16KB Flash 实在有些捉襟见肘,即使驱动像 0.96 寸 TFT LCD 这样的小尺寸屏幕,分辨率为 160x80,色深为 16 位,一张全屏背景图就要消耗 …

阅读全文 »

汇报一下基于 CH32V003 + 电子墨水屏的超低功耗 Tag 续航测试结果

在 5 月份的时候,分享了一个基于沁恒 CH32V003 + 电子墨水屏的一个超低功耗时间 Tag 项目(见 电流15uA续航一年?CH32V003低功耗应用尝试 ),想借此学习了一下低功耗嵌入式开发,到上周,这个测试设备的终于支撑不住,已经差不多耗尽了电池。

回顾一直技术方案

之前的文章已经介绍了大概的技术方案,使用 CH32V003 作为主控 MCU,电子墨水屏作为显示设备,PCF8563 作为 RTC 时钟保存时间,CH32V003 使用待机模式,每 10 分钟唤醒一次,从 RTC 读取时间并刷新电子墨水屏,然后通过 PMOS 将电子墨水屏的供电断开。

在实际测试过程中,不刷新电子墨水屏且 CH32V003 处于待机状态时,电流大概是 17uA,在 CH32V003 唤醒且刷新屏幕时,电流大概是 15mA。回去看了下之前的文章,发现把刷新屏幕的电流算小了,原先用的 5mA,这次刷新期间使用 15mA 来计算。

综合刷新屏幕所使用的时间和次数,估算整体电流消耗大概是 142uA。

配合一个 450mAh 的电池,理论续航时间是 450 / .142 / 24 =132 天

RTC



阅读全文 »

那些年用 7 毛单片机 CH32V003 做过的 DIY 项目

在去年了解到沁恒 7 毛钱的 MCU CH32V003 之前,一直都是玩的乐鑫的 ESP32 系列,从 ESP8266 到 ESP32、ESP32-S2、ESP32-S3,从来没有为 MCU 的 Flash 和 RAM 资源发愁过。

但是在某些场景下,不需要这么强大的 CPU 能力,也不需要 Wi-Fi 或蓝牙连接能力,再用 ESP32 就有点杀鸡用牛刀了,刚好这个时候了解到了 CH32V003,首先就是价格相当便宜,然后在做一些简单的项目时,资源也足够使用了,并且外围电路太简单了,设计和焊接 PCB 都压力小了很多。

然后在相当长一时间里,做啥 DIY 项目,都会首先想 CH32V003 能不能用,经过了一年多,回头看也用它搞了不少好玩的东西。

注:当然现在沁恒也推出了价格相近,但是资源更丰富的 CH32V006 系列,65K Flash,8K SRAM,如果对 MCU 资源要求更高可以尝试一下。

USB 电流表 & USB PD 诱骗器

第一个尝试使用 CH32V003 的项目,学习了一下 I2C 通信、ADC、GPIO …

阅读全文 »

百元成本,DIY 一个 ESP32-S3 驱动的炫酷 IV-18 荧光管时钟

前段时间分享了 HV5812 驱动 IV-18 荧光管(见 使用 C 语言位运算和宏,编写一个可自由配置的 HV5812 + IV-18 荧光管驱动),这段时间把固件和外壳搞了搞,总算是差不多做完了,桌上又多了个吃灰的摆件 😃。

在这次开发过程中,固件也是继续尝试了使用 AI 编写,体验还不错,不再需要为配网 + Web 配置界面这些烦琐的事花太多时间了。

成品效果

 

元件选型

做这个 IV-18 桌面时钟,元件中主要的成本就是 IV-18 荧光管本身了,占了绝对的大头。

  • 荧光管:IV-18 真空荧光管透明基板版本,约 95 元
  • 主控:ESP32-S3 Zero 开发板,21 元
  • DCDC 升压芯片:XL6007,7 毛
  • LED 高压驱动:HV5812,6 元
  • 其他阻容:算 5 元吧

PCB 还是老样子,嘉立创每月两样免费打样,外壳 3D 打印也不算了,总成本大约在 130 …

阅读全文 »

Wokwi + VSCode 插件在线仿真 ESP32 更好用,值得一试

之前在《玩 ESP32 和 Arduino 的同学一定不能错过这个在线仿真网站》这篇文章中分享了 Wokwi 这个在线仿真平台,它支持 ESP32、STM32、树莓派等众多 MCU,还有相当丰富的外设库,在手边没有硬件设备时临时调试一下固件代码还是很方便的。

不过之前测试的是使用 Wokwi 的在线编译功能,作为免费用户,经常会碰到服务器编译超时错误,然后导致无法调试,又或者是固件项目依赖了太多的三方库,编辑项目相当麻烦。

这个时候想到了它还有一个 VSCode 插件,似乎可以在本地编译固件再进行仿真,尝试了一下发现还真挺好用,妈妈再也不用担心手边没硬件了。

操作演示

这里以我本地编译了一个 ArduinoBASIC 项目进行测试,可以看到整个使用过程还是相当流畅的,完全不用等待 Wokwi 的服务端编译时间了。

安装插件

要安装 Wokwi 的插件也很简单,直接在 VSCode 中的插件市场搜索 wokwi 或者通过以下链接安装即可:

https://marketplace.visualstudio.com/items?itemName=wokwi.wokwi-vscode

wokwi-vscode-simulator-1

在安装完成后,就可以通过 Command + Shift + P 呼出 VSCode 命令窗口,再搜索 wokwi 找到 Wokwi: Start Simulator 就可以开始使用了。

获取免费授权

在第一次使用 Wokwi …

阅读全文 »

使用 C 语言位运算操作,编写一个简单高效的单片机 OLED framebuffer 驱动

在之前做 CH32V003 系列项目时,总是会用到 0.96 寸 12864 OLED 屏幕,用来显示数据和进行用户交互操作。一开始是直接用了 CH32V003-GameConsole 项目中的 oled_min.c,不过那个是只用来显示一个位图,并且还不太能支持任意位置显示,因此就需要改造一番。

另外之前在做电流表项目时,也找了好多点阵字体,发现都是用了一个 DCfont 的结构体,如果能兼容这个格式,后续项目中使用不同字体时就可以很方便的替换了。

至于为什么要自己写这个库,是因为这个是在 CH32V003 上用的,16KB Flash + 2KB SRAM 的资源相当紧张,没办法使用 Arduino 中成熟的库,只好自己写一个,顺便学习一下。

字体及位图数据结构

DCfont 这个数据结构如下所示。

struct DCfont {
    uint8_t *data;
    uint8_t width;
    uint8_t height;
    uint8_t min, max;
};

刚好对于单色 XBMP 图像来说,在渲染时也差不多是需要相同的参数,刚好用同一个函数来同时兼容绘制 DCfont 和 XBMP 了。…

阅读全文 »

摸鱼小电脑能跑 MacOS 了,就是慢到怀疑人生

最近看到了 pico-mac-nano 项目,知道了 umac 这个模拟器,想着我的摸鱼小电脑终于可以跑 Mac OS 啦~

关于摸鱼小电脑可以看之前的分享《摸鱼小副屏,把它变成摸鱼小电脑~》。

之前已经尝试过用 qemu 运行 Mac OS 9,但是失败了,一直启动不起来,可能是系统资源不够,这次用 umac 模拟器来跑 System 7.0 总归应该没啥问题吧 🙈。

然后尝试了一下,果然还是可以的,能在香橙派 H616 上通过 umac 把 System 7.0 跑起来,但是速度相当相当慢,慢到怀疑人生。

有多慢,可以看看视频……

不过也算是完成一个小小目标了,记录分享一下过程,有想玩的朋友可以参考一下。

编译 umac 模拟器

umac 项目介绍

项目地址:https://github.com/evansm7/umac

项目介绍:

This is a minimalist Apple Macintosh 128K/512K emulator. It



阅读全文 »

AI 干了一半活,做个 LCD 模拟辉光管时钟

这是一个为了一碗醋包了一盆饺子的故事。

之前为了测试 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



阅读全文 »

AI 编程在嵌入式开发中能用吗?体验 Manus 编写 ESP32 固件

前段时间买了个 0.96 寸 80x160 的 LCD 屏幕,想要做一个模拟辉光管的时钟。

这第一步就用上了 AI,用 ChatGPT 生成了辉光管效果数字的图片,然后按数字裁切成 0-9 十张图,生成对应的图片 RGB565 格式数据,测试了一下,效果还不错。

然后我就在想,那这个时钟的固件,是不是也可以用 AI 来生成呢?AI 现在已经验证了写一些前端项目相当高效,在嵌入式开发领域,是不是也可以有同样的能力,至少可以完成一个简单的项目?

刚好 Manus 开放注册了,我就拿它来尝试一下看看效果怎么样。

功能需求

为了防止项目失败,先把功能定义得简单一点,就是通过 ESP32 控制 6 个 LCD 来显示上面裁切生成的数字图片,并且需要提供 API 更新图片、AP 配置能力。

提示词

这里为了让生成的项目更可控,提示词中明确了工程框架为 PlatformIO,引脚使用宏定义等能力,

请使用 platformio + arduino 框架帮我写一个 esp32-s3 固件,实现以下功能:

  • 控制 6 个 st7735 驱动的 lcd 屏幕,分辨率为


阅读全文 »