跳到主要内容

使用教程

硬件连接

  1. 连接 GPIO 接口

    Raspberry Pi 引出了 40 个 GPIO 管脚,而屏幕引出了 26 个管脚,连接时注意对应屏幕管脚和树莓派管脚。

  2. 把 HDMI 连接器接入屏幕和主板的 HDMI 接口。

    注:树莓派 Zero / Zero 2 W 需另配 HDMI 连接线进行连接。

  3. 把 LCD 背后的 Backlight 拨到“ON”。

    硬件连接如下图(Pi 4 和 Pi 3B+):

    5inch-HDMI-LCD-Manual-02-Pi-4B 5inch-HDMI-LCD-Manual-02-Pi3B+

软件设置

支持 Raspberry Pi OS / Ubuntu / Kali 和 Retropie 系统。

请在 树莓派官网 下载最新版本的镜像。

  1. 将压缩文件下载到 PC 上,并解压得到 img 文件。

  2. TF 卡连接到 PC,使用 SDFormatter 软件格式化 TF 卡。

  3. 打开 Win32DiskImager 软件,选择第 1 步准备的系统镜像,点击 write 烧写系统镜像。

  4. 烧写完成后,打开 TF 卡根目录的 config.txt 文件,在 config.txt 最后加入以下代码,保存并安全弹出 TF 卡。

    hdmi_group=2
    hdmi_mode=87
    hdmi_cvt=800 480 60 6 0 0 0
    hdmi_drive=1
    dtoverlay=waveshare-ads7846,penirq=25,xmin=200,xmax=3900,ymin=200,ymax=3900,speed=50000
  5. 下载 waveshare-ads7846.dtbo 文件 并复制到 overlays 目录 (/boot/overlays/)

  6. 将 TF 卡插入树莓派,给树莓派上电,正常等待十几秒后可正常显示。

触摸校准

  • 可以通过修改 config.txt 文件的参数进行校准

    ① 如果 X 轴左边沿触摸不到,调节 x_min 参数。如把 x_min 默认值 200 调整为 100,既触摸范围向左扩充了 100;
    ② 如果 X 轴右边沿触摸不到,调节 x_max 参数。如把 x_max 默认值 3900 调整为 4000,既触摸范围向右扩充了 100;
    ③ 如果 y 轴上边沿触摸不到,调节 y_min 参数。如把 y_min 默认值 200 调整为 100,既触摸范围向上扩充了 100;
    ④ 如果 y 轴下边沿触摸不到,调节 y_max 参数。如把 y_max 默认值 3900 调整为 4000,既触摸范围向下扩充了 100;

  • x_min、x_max、y_min、y_max 参数的值可以参考 evtest 工具来定义

    sudo apt-get install evtest
    sudo evtest

    Calibration 1

这里选择 3(不同用户的树莓派显示的序号不一定一样,要根据用户实际的序号来选择)
分别把手指挪到触摸屏的四个边缘(正对触摸屏 x_min 在最左边、x_max 在最右边、y_min 在最上边、y_max 在最下边)

  • 将手指放到 x_min

    Calibration 2

  • 将手指放到 x_max

    Calibration 3

  • 将手指放到 y_min

    Calibration 4

  • 将手指放到 y_max

    Calibration 5

然后将数值写入 config.txt

sudo nano /boot/firmware/config.txt

添加

dtoverlay=waveshare-ads7846,x_min=164,x_max=4010,y_min=154,y_max=3758

这样就是当前触摸设备较准确的触摸范围了,最后 sudo reboot 重启生效当前配置即可。

旋转

添加显示旋转参数

对于 Bookworm 系统

  • 打开"Screen Configuration"应用程序;

    DSI-LCD-Bookworm-Rotate-01

  • 进入"Screen"->"HDMI-1"->"Orientation" ,勾选您需要旋转的方向,点击"Apply"即可完成显示和触摸同步旋转。

    DSI-LCD-Bookworm-Rotate-04

对于 lite 版本的系统,可以采用这种方式旋转

sudo nano .config/wayfire.ini

添加以下语句到文件末尾:

[output:HDMI-A-1]
mode = 800x480@60
transform = 270

transform 参数可选择 normal、90、180、270。

对于 Bullseye 和 Kali 系统

先检查使用的系统是否有加载 KMS 或 FKMS 驱动。

查看方法:在/boot/config.txt 中,看对应的主板是否有打开了 dtoverlay=vc4-kms-v3d 或 dtoverlay=vc4-fkms-v3d。

如果有,使用以下命令进行显示旋转:

sudo nano /etc/xdg/lxsession/LXDE-pi/autostart
#在 autostart 文件末端输入对应显示旋转角度的指令,重启后生效
#0: 旋转 0 度;1:旋转 90 度;2: 旋转 180 度; 3: 旋转 270 度
xrandr -o 1

如果没有,使用以下命令进行显示旋转:

sudo nano /boot/config.txt
#在 config.txt 文件末端输入对应显示旋转角度的指令,重启后生效
#0: 旋转 0 度;1:旋转 270 度;2: 旋转 180 度; 3: 旋转 90 度
display_rotate=3

对于 Ubuntu 系统

先检查使用的系统是否有加载 KMS 或 FKMS 驱动。

查看方法:在/boot/firmware/config.txt 中,看对应的主板是否有打开了 dtoverlay=vc4-kms-v3d 或 dtoverlay=vc4-fkms-v3d。

如果有,使用以下方式进行显示旋转。

注:对于不同版本的 Ubuntu 系统,界面可能会有所区别,一般找到 Displays 应用进行旋转就可以。

GPIO-HDMI-Manual-01

GPIO-HDMI-Manual-02

GPIO-HDMI-Manual-04

执行命令,旋转 Ubuntu 登录界面,如果没有打开 Ubuntu 登录界面,这个步骤可以省略:

#对于 32 位系统,执行以下命令,your_user 替代为当前登陆的用户名
sudo cp /home/<your_user>/.config/monitors.xml /var/lib/lightdm/.config
#对于 64 位系统,执行以下命令,your_user 替代为当前登陆的用户名
sudo cp /home/<your_user>/.config/monitors.xml /var/lib/gdm3/.config
sudo chown gdm:gdm /var/lib/gdm3/.config/monitors.xml

执行以下命令旋转开机过程中的命令行显示:

sudo nano /boot/firmware/cmdline.txt
#在尾部增加下面代码可以旋转命令行
#旋转 0 度
fbcon=rotate:0 video=HDMI-A-1:800x480M@60,rotate=0
#旋转 90 度
fbcon=rotate:3 video=HDMI-A-1:800x480M@60,rotate=90
#旋转 180 度
fbcon=rotate:2 video=HDMI-A-1:800x480M@60,rotate=0
#旋转 270 度
fbcon=rotate:1 video=HDMI-A-1:800x480M@60,rotate=270

如果没有加载 KMS 或 FKMS 驱动,旋转相对比较简单,使用以下命令进行显示旋转即可:

sudo nano /boot/firmware/config.txt
#在 config.txt 文件末端输入对应显示旋转角度的指令,重启后生效
#0: 旋转 0 度;1:旋转 270 度;2: 旋转 180 度; 3: 旋转 90 度
display_rotate=1

添加触摸旋转参数

sudo nano /usr/share/X11/xorg.conf.d/99-calibration.conf
#在 99-calibration.conf 文件中修改相关命令行,重启后生效。以下是使用默认的校准参数,如果你需要使用特定的校准参数,注意 Calibration 参数值的顺序变化即可。
#触摸旋转 0 度:
Option "Calibration" "208 3905 288 3910"
Option "SwapAxes" "0"
#触摸旋转 90 度:
Option "Calibration" "3905 208 288 3910"
Option "SwapAxes" "1"
#触摸旋转 180 度:
Option "Calibration" "3905 208 3910 288"
Option "SwapAxes" "0"
#触摸旋转 270 度:
Option "Calibration" "208 3905 3910 288"
Option "SwapAxes" "1"

设置屏幕常亮

有些用户希望显示屏可以长时间显示,不受屏幕保护功能影响,可以通过如下设置。将屏幕保护功能关闭。

打开 lightdm.conf

sudo nano /etc/lightdm/lightdm.conf

找到 [SeatDefaults] 段下的"xserver-command"

#xserver-command=X

取消注释,修改为:

xserver-command=X -s 0 -dpms
  • -s # –设置屏幕保护不启用
  • dpms 关闭电源节能管理

重启生效。

可能遇到的问题

触摸抖动比较大,怎么解决?

可以设置消抖参数,解决触摸抖动的问题,但会牺牲掉一部分灵敏度作为代价,具体用户可自行取舍。

由于树莓派默认提供的 ads7846.dtbo,没有消抖参数,可以通过修改替代 ads7846.dtbo 的方式增加消抖参数

具体可以通过以下方式增加防抖功能:

  1. 执行命令
wget https://www.waveshare.net/w/upload/2/29/Ads7846_waveshare.zip
unzip Ads7846_waveshare.zip
cd ads7846_waveshare
sudo cp ads7846_waveshare.dtbo /boot/overlays/
  1. 继续执行命令
sudo nano /boot/config.txt
#将原来的命令注释掉
#dtoverlay=ads7846,cs=1,penirq=25,penirq_pull=2,speed=50000,keep_vref_on=0,swapxy=0,pmax=255,xohms=150,xmin=200,xmax=3900,ymin=200,ymax=3900
#config.txt 文件末端加上以下命令,重启后生效
dtoverlay=ads7846_waveshare

相关参考文档:ads7846-overlay.dts ads7846.txt

Ubuntu 系统安装 xserver-xorg-input-evdev 和 xinput-calibrator 报错,导致触摸没办法正常使用,怎么解决?

说明:Ubuntu 系统由于某些地区网络问题可能无法访问到默认源,从而导致安装报错。

解决方式 1,更新源:

  1. 执行命令,查看当前版本:
lsb_release -c -s

例如执行后显示为:groovy

  1. 执行命令:
#备份原来的源
sudo mv /etc/apt/syntaxhighlights.list /etc/apt/syntaxhighlights.list.old
sudo nano /etc/apt/syntaxhighlights.list

添加以下代码并保存:

#通过步骤 1 获取的字符串替换下面的 groovy
deb http://old-releases.ubuntu.com/ubuntu/ groovy universe main
deb http://old-releases.ubuntu.com/ubuntu/ groovy-security main universe
deb http://old-releases.ubuntu.com/ubuntu/ groovy-updates main universe
  1. 更新,执行命令:
sudo apt-get update
  1. 更新完成后,重新进行 #触摸校准 即可。

如果上面的源失效,可以使用以下方式:

解决方式 2,直接找到两个应用程序的下载地址,直接下载安装:

对于 32 位系统,执行以下命令:

wget http://deb.debian.org/debian/pool/main/x/xserver-xorg-input-evdev/xserver-xorg-input-evdev_2.10.6-2_armhf.deb
sudo dpkg -i xserver-xorg-input-evdev_2.10.6-2_armhf.deb
wget http://mirrors.ustc.edu.cn/debian/pool/main/x/xinput-calibrator/xinput-calibrator_0.7.5+git20140201-1+b2_armhf.deb
sudo dpkg -i xinput-calibrator_0.7.5+git20140201-1+b2_armhf.deb

对于 64 位系统,执行以下命令:

wget http://deb.debian.org/debian/pool/main/x/xserver-xorg-input-evdev/xserver-xorg-input-evdev_2.10.6-2_arm64.deb
sudo dpkg -i xserver-xorg-input-evdev_2.10.6-2_arm64.deb
wget http://mirrors.ustc.edu.cn/debian/pool/main/x/xinput-calibrator/xinput-calibrator_0.7.5+git20140201-1+b2_arm64.deb
sudo dpkg -i xinput-calibrator_0.7.5+git20140201-1+b2_arm64.deb

Kali 系统安装 xserver-xorg-input-evdev 和 xinput-calibrator 报错,导致触摸没办法正常使用,怎么解决?

说明:Kali 系统由于某些地区网络问题可能无法访问到默认源,从而导致安装报错。

解决方式 1,更新源:

  1. 执行 sudo su 获取管理员权限,默认密码是 kali。

  2. 执行命令:

wget -q -O - https://archive.kali.org/archive-key.asc | apt-key add
  1. 修改源,执行命令:
nano /etc/apt/syntaxhighlights.list

将原来的源注释掉,修改成:

deb http://mirrors.ustc.edu.cn/kali kali-rolling main contrib non-free

保存退出。

  1. 更新,执行命令:
apt-get update --fix-missing
  1. 更新完成后,重新进行 #触摸校准 即可。

如果上面的源失效,可以使用以下方式:

解决方式 2,直接找到两个应用程序的下载地址,直接下载安装:

对于 32 位系统,执行以下命令:

wget http://deb.debian.org/debian/pool/main/x/xserver-xorg-input-evdev/xserver-xorg-input-evdev_2.10.6-2_armhf.deb
sudo dpkg -i xserver-xorg-input-evdev_2.10.6-2_armhf.deb
wget http://mirrors.ustc.edu.cn/debian/pool/main/x/xinput-calibrator/xinput-calibrator_0.7.5+git20140201-1+b2_armhf.deb
sudo dpkg -i xinput-calibrator_0.7.5+git20140201-1+b2_armhf.deb

对于 64 位系统,执行以下命令:

wget http://deb.debian.org/debian/pool/main/x/xserver-xorg-input-evdev/xserver-xorg-input-evdev_2.10.6-2_arm64.deb
sudo dpkg -i xserver-xorg-input-evdev_2.10.6-2_arm64.deb
wget http://mirrors.ustc.edu.cn/debian/pool/main/x/xinput-calibrator/xinput-calibrator_0.7.5+git20140201-1+b2_arm64.deb
sudo dpkg -i xinput-calibrator_0.7.5+git20140201-1+b2_arm64.deb