躺在床上看电影的时候,起来用键盘调音量是一件非常麻烦的事情,特别是冬天的时候,更加不愿意离开被窝。

我就想有没有办法可以很方便的调整电脑音量呢,后来我用ESP8266做了一个很小的红外接收器,在用一个很小的遥控器就可以控制电脑开机和播放控制

先放一个最终成品

侧面.jpg

因为供电的问题,一直重启,我排查了很久,做了4块板子

pcb工程.png

这是最后的版本的3d图,板子已经找不到了

esp8266的红外遥控器.png

  1. 一个调试接口,和一个CP2102的USB2TTL相连接

  2. 一个红外接收头的端口,连接到红外接收头

  3. 一个PWR接口,接的是主板的PWR_LED口和PWR_BTN口,用于检测主板通电状态和控制电源键按钮(模拟按下开机)

  4. 对面上面那个是DB18B20的接口,用来测量CPU出风口和进风口,还有显卡出风和电源出风的实时温度的

  5. 对面下面的是I2C的OLED接口,用于显示传感器的实时温度的,看起来很炫酷但实际上并没有什么软用

方便的是可以用遥控器控制电脑开机(拉低PWR_BTN即可),但不方便的是安装过程非常麻烦,而且白天灵敏度非常差,可能是因为太阳光太强了,我就做了一个新的板子,准备用ESP32(支持WIFI和BLE),可以像连接蓝牙耳机那样方便,不用改动任何电脑硬件,而且传输距离也提升了很多,除了没法给电脑开机以外就没什么缺点了

方案验证版1

这个主要是验证低功耗的,排除了一切"外围"元件,只保留了核心模组,结果还不错,ESP32的DeepSleep模式下,开启RTC Ext IO唤醒(用的外部100k上拉)时,电流大概0.8ma左右(3.3v),还不错

pcb3.png

方案验证版2

这块板是验证充电电路和USB2TTL电路的,使用的TPS79333(3.3v 200ma ldo,特点是静态功耗非常低,还有非常贵,我买的1块5一个)和TP4057(好像是国产的充放IC,比tp4056便宜),USB2TTL方案选用的是CP2102,不供电的时候只需要2个外围元件即可,接口是TYPE-C 16p 1.6沉板

pcb2.png

第一版

第一版为了显示电量我给上了个0.96寸的oled(当时还不知道可以通过蓝牙报告电量),下面还挂了个IO扩展芯片MCP43017(I2C接口的,功耗连0.1ma都不到,但是就是很贵,有5块多),电池方面是1000mah的,实测充满可以连续跑7个多小时,烧写程序只需要一根TYPE-C线连接到电脑即可,除此之外不需要任何外部元件

pcb1.png

第二版

第二版去掉了oled,oled特别贵20多呢,元件布局也整齐了许多,另外除了电源按键还多了一个RST按钮,如果MCU死机可以强制重启。在两个充电指示灯的旁边还加入了一个状态指示灯,指示蓝牙是否连接上了,只可惜电路设计的时候吧正负极颠倒了,很烦,我怎么会犯这个错误

pcb4.png

第三版

第三版是后一款了,除了把指示灯移到了正面头顶上以外,还去掉了IO扩展芯片,全部使用的是MCU的引脚,板子的成本大概缩减到了25块钱左右(不包括电池),元件布局也更加紧凑了,同时加上了蓝牙汇报电量的功能,可以直接在系统设置里面显示电量,是真的很方便

batterylevel.png

pcb5.png

这个版本没有什么太大的问题,就差外壳了,只是苦于自己不会建模,还在苦学3dmax中。所有的设计文件(包括PCB文档、程序文件等),调试好没有严重bug以后都会进行开源,只是目前代码方面还有很多功能都没有完成,比如修改按键的触发功能,指示灯的状态切换等等,还需要点时间而已,毕竟平时空闲时间不是特别多。

正面.jpg

背面.jpg

侧面.jpg