春节前整理抽屉翻出来一块2.2寸的240x320 SPI的TFT LCD。想起来这是当初做完Arduino搭配176x220的实验(http://blog.csdn.net/ki1381/article/details/66974924)后买的,但后来查了下资料,有说这个模块的电平是3.3v的,不能直接上5V版Arduino,后来一直懒得研究了,直到前几天又看到了,一想树莓派不就是3.3v的么,正好趁假期研究下怎么用。
本文基于2017-11-29-raspbian-stretch,并主要参考了以下文章:
https://www.cnblogs.com/chengchen/p/8413038.html
https://www.raspberrypi.org/forums/viewtopic.php?t=157618
1、接线。如下表。最后一列数字表示引脚的物理编号。查找资料过程中有几篇文章提到LED与树莓派之间需要串联一个56欧姆的电阻作为限流保护措施,我信了,所以我的实验中串了一个100欧的(手头没有56欧的)。PI提供了多个3.3v和GND引脚,可以任选你觉得合适的。
2、启用SPI。这个就不多说了。
3、更新系统并重启。
sudo rpi-update
sudo reboot
4、再次起来后运行:
sudo modprobe fbtft_device name=rpi-display gpios=reset:25,dc:24,led:18 rotate=90
这时候应该能看到LCD的背光灯有动作了。ls /dev/fb*,应该能看到新加了一个 /dev/fb1
Zero上背光灯打开的延迟可能稍微有点大,如果没有秒开,保持耐心多等几秒钟再考虑是否有其它问题。
5、测试
wget https://stamm-wilbrandt.de/en/forum/giraffe.565
tail --bytes 153600 giraffe.565 > /dev/fb1
应该能看到一个长颈鹿的头像。多说几句,这个老外喜欢的565文件本质上应该就是个16位色的bmp。为什么从尾部读153600个字节呢,因为正好等于240*320*2。所以这个giraffe.565可以自己替换成任何你喜欢的图片。初步测试了下,用PhontoShop的制作方法是:裁剪或者缩放一个图片到240(高)*320(宽),另存为Windows格式的bmp,勾选翻转行序(否则显示出来是左右镜像的),然后在高级模式里选中16位的R5 G6 B5即可。
6、直接显示多种格式的图片文件
FBI说它可以。对,就是FBI,但不是你想的那个。它是FrameBuffer Imageviewer。
sudo apt-get install fbi
使用起来也很简单的,比如显示demo.jpg:
sudo fbi -d /dev/fb1 -T 1 -noverbose -a demo.jpg
7、开机自动启用LCD
修改/boot/config.txt,单独起一行加一句:
dtoverlay=rpi-display
这样就不必每次重启后都要执行下modprobe了。前提是按照图一的接线方法。