KeDei Raspberry Pi LCD (中篇)
继续折腾 SPI 接口 Pi LCD
问题
使用了 Pi LCD 盒子一周,主要发现了三个问题:
- 拿去公司用的时候,不定期会出现白屏。在家的时候倒是一次没有。怀疑是针脚接触不良。
- 因为盒子内空间高度的限制,除了接 LCD 的 GPIO 针脚是直接插到 LCD 板子上,其它的接开关和 UART 的针脚也要从 Pi 的 GPIO 针脚上用杜邦线引出,高度不够线都是要压的弯弯的,每次拔插都感觉很松动,不牢靠。
- Pi 的 GPIO 都是 3.3V 的,之前从 5V 的 Arduino 接过来是事先走了逻辑电平转换模块 Logic Level Converter 的。如果能直接在盒子里面放个 Logic Level Converter 就会方便多了。
改造
我的想法是这样的,想要自制一个 Pi Hat, 把我之前用到的 GPIO 都用针脚连出来,而不是像之前那样勉强连接。
而且我测量了一下,发现供电 USB 口的 5V 其实就是直接连的 GPIO 的 5V 针脚,这样我外接的 USB 口直接连 GPIO 就行了,而不用再通过额外的 USB micro 头从供电 USB 口连出来了。
成品图就如下所示:
我在左边焊了8 脚的 90 度针脚(碍于宽度限制,而且要给旁边的 SD 卡槽留出位置),居然 7 个都用上了。
1 - Unused
2 - UART - GND
3 - UART: TxD - GPIO 8
4 - UART: RxD - GPIO 10
5 - Safety Shutdown Switch - GPIO 5
6 - Safety Shutdown Switch - GND
7 - Power - GND
8 - Power - 5V
记录下中间遇到的几个问题。
高度限制
由于盒子内空间的高度限制,我并不能像通常的 Pi Hat 那样在洞洞板上一边安装母座来连接 Pi 的 GPIO 针脚,另一边用针脚去连 LCD 的母座。盒子的高度只能容纳一个母座加上两块电路板的厚度。所以最后实际上只能把 Pi 直接焊在洞洞板上面才勉强可以。不过反正是最便宜的 Pi Zero W 就专门干这个好了。
焊点虚焊
焊完测试的时候,发现白屏的问题出现的更频繁了。甚至能观察到屏幕的亮度像接触不良那种的闪烁。后来发现导线线头和洞洞板接触的部分其实很容易虚焊,好几处我用手直接就能把导线头从焊点拽起来。仔细补焊之后就没这个问题了。
反而用走焊锡的方式的连接都很可靠。
UART 串口调试不工作
洞洞板上的空间刚刚好可以放上一个两口的 Logic Level Converter,太棒了!
不过测试的时候却没有显示,用万用表仔细检查了 Logic Level Converter 发现工作正常。然后试了 3.3V 和 5V 的 TX 输入还是不好用。
穷途末路的时候看了这个 Youtube 视频,发现人家不光接了 TX / RX,还接了地线 GND。我又多接出来一个 GND 针脚,测试后发现圆满解决了问题,而且不管输入是 3.3V 还是 5V 都没问题!
现在带来的额外好处就是,我可以随时把 Pi 从 LCD 上面拔下来,然后再插回去仍然正常工作!
新知
调试过程中,我用示波器测量了下 UART 的信号 (Baud Rate 9600)。