众所周知兽装的透气性很差,可爱的外表下内胆实际早就热得满头大汗,长时间出毛不吃风扇的话很容易把内胆闷死。兽头的内部空间狭小很难塞下一个风量大而且体积还小的风扇,网上能找到的兽装内置风扇普遍都是基于 5V 电压的 USB 风扇改造的,只能 DC 调速且风量很小,且容易卡毛,所以想了一下还是决定自己造一个符合咱自己需求的兽装内置风扇。


物料清单

这里选的材料只按照咱自己的需求来的,不同的兽需求不一样所以下面的物料仅供参考。

  • 风扇:要求体积小,风量大,能调速,所以咱使用的是 12V 供电的服务器风扇。

    其实DC 调速也不是不行,但想让 ESP32 实现 DC 调速驱动大功率电器的话,你还是得让他先输出 PWM 信号,然后结合 MOS 管调节电压。

  • 控制电路:为了能远程使用手机控制,对比了 ESP32 和树莓派 Pico 之后,因为树莓派 PicoW 的价格更贵且体积比 ESP32C3 大,Wifi 支持效果不是很好,所以最后买的是网上的成品 ESP32C3 开发板,用于输出 PWM 信号,并作为 Wifi AP + Web Server 来使用手机控制(因为咱对蓝牙协议不太熟悉且适配蓝牙的话一般来说还要再开发一个 APP,相对于一个 Web Server 来说还是太麻烦了)。

  • 发光眼:自认为发光眼也很好看,所以除了需要控制 PWM 风扇之外,还需要结合一个 MOS 管调节 LED 灯亮度,所以 ESP32 需要输出两个不同频道的 PWM 信号。

  • 电源:因为兽头空间小,赛一块电池到脑袋里并不是一个很好的办法,而且网上卖的小作坊产的成品电池总担心会不会有安全隐患在脑子里着火什么的,而且,兽头已经很重了再赛一块几百克的容量很小的电池,风扇的续航时间也不会很久。所以最后咱的办法是用一根长一点的 PD 协议 Type C 数据线连接外置的充电宝,一个超薄的小充电宝可以塞裤兜里或者别的包里,只要想办法把数据线藏在衣服里就好了,这种给脑子充电的方法实测用起来还蛮不错的,而且 1 万毫安的充电宝续航时间非常久,至少能运行十几个小时,唯一需要注意的是电路板的 Type C 接口容易被扯坏,得想办法加固一下。

所以最后咱在网上买的材料为:ESP32C3 开发板、3*4cm 洞洞板、12V 服务器风扇、成品 MOS 管电路板、12V LED 灯带、12V PD 协议诱骗芯片、12V 转 5V 降压电路板、防静电 TVS 管,还有导线和焊接相关的一堆其他工具。

因为咱模电并不好,不会画电路板设计电路,再加上这个只是咱自己用,所以买的都是网上的成品开发模块,把它们焊到洞洞板上,用一堆导线连起来,缺点是体积比较难控制,很难做得更小了,然后一堆电线在电路板上扭来扭去的也很难看,但能用就行。

控制代码

相对于硬件电路来说,代码这部分是重头戏。咱现学了一下 PlatformIO IDE 并照着 ESP32 的官方文档和样例 Example,用纯 C 语言搓了一个 HTTP Handler 和 PWM 控制相关的代码。 后端的接口可以自定义修改 Wifi 名称、信道、默认网关、PWM 输出引脚和 PWM Duty(占比)等一大堆自定义配置,用户修改的设置参数(比如 Wifi 密码、风速和亮度值什么的)能保存到文件中,重启之后数据不会丢失。这堆东西用纯 C 写相比其他更高级点的语言来说还挺复杂的。

然后咱还搞了一套比较好看的 Web UI 界面,并加了亿点点花里胡哨的细节(虽然是给咱自己用,但功能写得还是蛮全的)。

代码放在了这里,感兴趣的可以去瞅瞅。

食用效果

其实这个风扇早在几个月前就做好了,期间不断修改调整了几次,现在已经装在了头里且没拍什么照片,所以我直接录了段视频演示整体效果。因为风扇被黏在头里了所以不是很能感受到它的风速。要说具体的效果的话,只靠着这个内置风扇,兽聚夜场蹦达几个小时应该没什么问题,但是得小心数据线别把电路板的 Type C 接口扯断了……