第二十六章-连接显示器及LCD

可选:HDMI输出,3.5mm视频输出,其它转接方式,以及官方显示屏

  • HDMI最方便,直接连接即可

需要注意的是,开机时如果没连接显示器便不会有视频输出,即使开机后连接了显示器也是一样的结果;如果想强制视频输出的话,需要修改config.txt文件,假设你的显示器是HDMI接口1366x768分辨率

sudo nano /boot/config.txt

添加:

hdmi_force_hotplug=1
hdmi_group=2
hdmi_mode=16
hdmi_drive=2

这里hdmi_force_hotplug=1是强制输出到HDMI,即使未检测到HDMI设备

  • 3.5mm视频输出

可以连接CRT旧电视,接口集成在音频口,所以直接在音频口接耳机会发现底噪很大,不过社区正在改进这点

可以直接淘宝购买Zune的RCA Cable,或者DIY接口定义一致的线材,定义参考下图,图片版权归属原作者MATT

另外需要修改config.txt(PAL制式电视):

(新版的Jessie不用修改也能显示,如果没声音的话再进行以下操作)

树莓派上:

sudo nano /boot/config.txt

或Windows上打开config.txt

#sdtv_mode=2

前面的#删掉,变为:

sdtv_mode=2

配合老电视和 Xbox 360手柄或8位堂完全仿红白机的FC30手柄怀旧FC是相当不错的选择,系统方面可以选择Lakka , RetroPie , recalbox-os

  • HDMI转接VGA

多篇文章都建议一定用有源的HDMI转VGA,也就是可以连接电源的,否则会烧毁树莓派

修改config.txt文件,添加:

hdmi_force_hotplug=1
hdmi_group=2
hdmi_mode=16
hdmi_drive=2

hdmi_mode=16为设置1024x768 60Hz 其它分辨率可参考官方config.txt说明

一些有源HDMI转VGA的选择:

白色款1白色款2黑色款1黑色款2Moto,(似乎这款最便宜,需要另外配一个Micro HDMI母对HDMI公,比如这个

  • Nokia 5510/3310 LCD

这块屏幕的尺寸约1.5寸,分辨率为84x48,不论字体采用8x8还是6x12显示的内容都很有限,而且因为是拆机屏,质量难以保证 诺基亚5510/3310的液晶模块controller一般为PCD8544,接口为 SPI

连线:

LCD Driver gpio name Raspberry Pi 备注
GND GND
VCC 3.3V
CLK SCLK
DIN MOSI
D/C dc GPIO24 Command/data
CS CE0 Chip Select
RST reset GPIO25
LED led GPIO23 led

然后通过:

gpio readall

查阅附录2查看树莓派上对应的端口

对照 BCMPhysical 栏,依次找到连线表内的对应端口

下面是一种接法:

LCD Raspberry Pi(Physical)
GND 9
BL 16
VCC 1
CLK 23
Din 19
DC 18
CE 24
RST 22

启用 SPI

sudo nano /boot/config.txt

加入:

dtparam=spi=on

重启生效

这块单色LCD可以通过 FBTFT 进行console显示,这样在终端里能做的事用它都可以做到

由于Linux kernel staging tree已经加入FBTFT,所以不需额外安装

终端显示:

sudo modprobe fbtft_device name=nokia3310

dmesg 会显示:

......
[   52.092954] fbtft: module is from the staging directory, the quality is unknown, you have been warned.
[   52.098978] fbtft_device: module is from the staging directory, the quality is unknown, you have been warned.
[   52.101017] fbtft_device:  SPI devices registered:
[   52.101040] fbtft_device:      spidev spi0.0 500kHz 8 bits mode=0x00
[   52.101053] fbtft_device:      spidev spi0.1 500kHz 8 bits mode=0x00
[   52.101062] fbtft_device:  'fb' Platform devices registered:
[   52.101092] fbtft_device:      soc:fb id=-1 pdata? no
[   52.101132] fbtft_device: Deleting spi0.0
[   52.101429] spi spi0.0: setting up native-CS0 as GPIO 8
[   52.101544] fbtft_device:  GPIOS used by 'nokia3310':
[   52.101555] fbtft_device:    'reset' = GPIO25
[   52.101564] fbtft_device:    'dc' = GPIO24
[   52.101572] fbtft_device:    'led' = GPIO23
[   52.101580] fbtft_device:  SPI devices registered:
[   52.101592] fbtft_device:      spidev spi0.1 500kHz 8 bits mode=0x00
[   52.101603] fbtft_device:      fb_pcd8544 spi0.0 400kHz 8 bits mode=0x00
[   52.113572] fb_pcd8544: module is from the staging directory, the quality is unknown, you have been warned.
[   52.253490] graphics fb1: fb_pcd8544 frame buffer, 84x48, 7 KiB video memory, 0 KiB DMA buffer memory, fps=20, spi0.0 at 0 MHz

lsmod 会显示:

Module                  Size  Used by
fb_pcd8544              3048  0
fbtft_device           27354  0
fbtft                  27484  2 fb_pcd8544,fbtft_device
syscopyarea             2773  1 fbtft
sysfillrect             3299  1 fbtft
sysimgblt               1921  1 fbtft
fb_sys_fops             1157  1 fbtft

启用终端:

con2fbmap 1 1

(如果遇到屏幕正面看是black screen,在别的角度可以看到文字的话,这和屏幕本身连接方式有关,其液晶与电路板是用导电胶连接的,可能没有充分接触,稍微压一下边框应该可以正常显示;如果LED闪得厉害,多半是屏幕有问题,建议找卖家换一个)

results matching ""

    No results matching ""