那些年用 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 等外设,结合 INA219 完成电流采样,使用 CH224K 完成 USB PD 电压诱骗。

感觉对于 CH32V003 这样的资源受限的 MCU,0.96 寸 12864 OLED 真的相当好用,即使使用全屏 framebuffer,也只占用 1KB 内存,再写点功能什么的也是完全够用的。

相关介绍文章:

ch32v003-diy-projects-1

ch32v003-diy-projects-2

智能 UV 胶紫外固化灯

继续基于 USB 电流项目的固件代码开发了这个 UV 胶紫外固化灯,使用 DX1240 LED 驱动芯片控制恒流驱动紫外线 LED,并且通过 PWM 控制 LED 亮度,另外加了 PMOS 来控制 LED 和风扇的电源。

相关介绍文章:

ch32v003-diy-projects-3

自动镍氢电池充电器

这是一个衍生复刻项目,原作者使用了树莓派 RP2040,还有夏普的屏幕,我觉得成本太高,就想换用 CH32V003 来复刻一个,外壳和结构还是用了原作者的,PCB 重新设计了,充电芯片换成了 CN3085。

不过现在似乎充电芯片参数啥的设计有问题,总是没办法充满电池,放一边吃灰了 🙈。

相关介绍文章:

ch32v003-diy-projects-4

指尖游戏机

复刻的 wagiminator 大神的 CH32V003-GameConsole 项目,但是原作 PCB 比我想象中大,就改成了只有两个硬币大小的指尖游戏机。

这个项目里学到了单 GPIO 通过 ADC 来检测五向按键,在智能 UV 胶紫外固化灯项目中也有使用到。

相关介绍文章:

ch32v003-diy-projects-5

低功耗电子墨水屏计时 Tag

这个项目来源于一个朋友在聊天时提到需要一个用于标记家中设备耗材更换时间的类似电子标签的设备,刚好我也想尝试一下低功耗长续航应用的开发,也顺便学习一下 CH32V003 的 SPI 外设。

查了 CH32V003 的数据手册,它的待机电流消耗在 10uA 左右,加上电子墨水屏功耗,理论上续航也可以有半年,因此在测试了 CH32V003 可以驱动墨水屏之后,就搞了个测试版本。

目前已经运行了 102 天,电压还有 3.47V,感觉快到极限了 😃。

相关介绍文章:

ch32v003-diy-projects-6

小结

通过这些个项目也算是把 CH32V003 的功能外设用了个七七八八,好多项目的固件都是在第一个 USB 电流表的代码上东改改西改改。

CH32V003 的资源还是相当有限的,后面可以更多去尝试一下沁恒的其他系列 MCU 例如 CH32V203 以及蓝牙系列 CH585,单机应用总归想象力太有限了。

参考资料

发表评论?

0 条评论。

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>