资料
|
|
|
|
|
基本信息
|
|
|
分类:
|
树莓派LCD模块
|
{{{userDefinedInfo1}}}:
|
{{{userdefinedvalue1}}}
|
{{{userDefinedInfo2}}}:
|
{{{userdefinedvalue2}}}
|
{{{userDefinedInfo3}}}:
|
{{{userdefinedvalue3}}}
|
品牌:
|
Waveshare
|
|
|
|
功能简介
|
|
|
特性
|
4寸树莓派电阻屏
|
分辨率
|
800×480
|
适用范围
|
兼容任何版本的树莓派
|
'
|
无特性,不解释
|
'
|
无特性,不解释
|
接口
|
|
HDMI
|
SPI
|
|
|
|
|
产品特点
- 4寸IPS屏,硬件分辨率为480×800
- 电阻式触摸控制
- 兼容并可直接插入任何版本树莓派(树莓派Zero / Zero 2 W需另配HDMI连接线)
- 支持Raspberry Pi OS / Ubuntu / Kali和Retropie系统
- 可作为计算机显示器,无触摸功能(接入计算机须另配HDMI线)
- 仅用于显示,不占用任何I/O资源(使用触摸功能,占用I/O)
- 支持背光控制,更省电
搭配树莓派使用
硬件连接
1. 连接GPIO接口接口
Raspberry Pi引出了40个GPIO管脚,而屏幕引出了26个管脚,连接时注意对应屏幕管脚和树莓派管脚。
2. 把HDMI连接器接入屏幕和主板的HDMI接口。
3. 把LCD背后的Backlight拨到“ON”。
注:树莓派Zero / Zero 2 W需另配HDMI连接线进行连接。
硬件连接如下图(Pi 4和Pi 3B+):
软件设置
支持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_timings=480 0 40 10 80 800 0 13 3 32 0 0 0 60 0 32000000 3
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
hdmi_drive=1
hdmi_force_hotplug=1
- 5. 将TF卡插入树莓派,给树莓派上电,正常等待十几秒后可正常显示。但此时触摸的是有问题的,需要对触摸进行校准。
触摸校准
该显示屏可以通过xinput-calibrator进行校准。
1. 执行以下命令,安装相关软件:
sudo apt-get install xserver-xorg-input-evdev xinput-calibrator
如果执行失败可以查看这里#可能遇到的问题
2. 执行以下命令:
sudo cp -rf /usr/share/X11/xorg.conf.d/10-evdev.conf /usr/share/X11/xorg.conf.d/45-evdev.conf
sudo nano /usr/share/X11/xorg.conf.d/99-calibration.conf
在99-calibration.conf添加下以代码:
Section "InputClass"
Identifier "calibration"
MatchProduct "ADS7846 Touchscreen"
Option "Calibration" "208 3905 288 3910"
Option "SwapAxes" "0"
Option "EmulateThirdButton" "1"
Option "EmulateThirdButtonTimeout" "1000"
Option "EmulateThirdButtonMoveThreshold" "300"
EndSection
3. reboot后,正常情况下,触摸将可以正常使用。但不同的电阻屏,使用默认的校准参数可能精度并不是很好。
可以通过点击任务栏的树莓派图标,选择Preferences -> Calibrate Touchscreen,按显示提示进行触摸校准。
4. 校准后显示如下图,如果要保存这些触摸值,可以将红圈中的数据替代99-calibration.conf中相应位置的数据即可。
旋转
更新软件版本
Raspberry Pi OS Bullseye分支需要更新软件版本,其他系统这一步骤可以省略。
sudo apt-get update
sudo apt-get full-upgrade
添加显示旋转参数
对于Raspberry Pi OS和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应用进行旋转就可以。
执行命令,旋转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=3
添加触摸旋转参数
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"
EDID时序参数
如果主控板的系统可以自动识别EDID进行显示,则无需额外设置相关时序参数。
否则可以参考如下EDID设置:
Pixel Clock |
H Adressable |
H Blanking |
V Adressable |
V Blanking |
H Front Porch |
H Sync Width |
V Front Porch |
V Sync Width |
H Image Size |
V Image Size |
H Border |
V Border
|
32.00 |
480 |
128 |
800 |
45 |
40 |
48 |
13 |
3 |
108 |
68 |
0 |
0
|
接口定义
以下标识为“NC”的引脚表示LCD没有占用该引脚,用户可用于其它应用。
引脚号 |
标识 |
描述
|
1 |
3.3V |
电源正(3.3V电源输入)
|
2 |
5V |
电源正(5V电源输入)
|
3 |
NC |
NC
|
4 |
5V |
电源正(5V电源输入)
|
5 |
NC |
NC
|
6 |
GND |
电源地
|
7 |
NC |
NC
|
8 |
NC |
NC
|
9 |
GND |
电源地
|
10 |
NC |
NC
|
11 |
NC |
NC
|
12 |
NC |
NC
|
13 |
NC |
NC
|
14 |
GND |
电源地
|
15 |
NC |
NC
|
16 |
NC |
NC
|
17 |
3.3V |
电源正(3.3V电源输入)
|
18 |
NC |
NC
|
19 |
TP_SI |
LCD显示 / 触摸面板的SPI数据输入
|
20 |
GND |
电源地
|
21 |
TP_SO |
触摸面板的SPI数据输出
|
22 |
TP_IRQ |
触摸面板中断,检测到触摸面板有按下则为低电平
|
23 |
TP_SCK |
触摸面板的SPI时钟信号
|
24 |
NC |
NC
|
25 |
GND |
电源地
|
26 |
TP_CS |
触摸面板片选信号,低电平选择触摸面板
|
可能遇到的问题
触摸抖动比较大,怎么解决?
可以设置消抖参数,解决触摸抖动的问题,但会牺牲掉一部分灵敏度作为代价,具体用户可自行取舍。
由于树莓派默认提供的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/
2. 执行命令
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
2.执行命令:
#备份原来的源
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
3.更新,执行命令:
sudo apt-get update
4.更新完成后,重新进行#触摸校准即可。
如果上面的源失效,可以使用以下方式:
解决方式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 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
3.修改源,执行命令:
nano /etc/apt/syntaxhighlights.list
将原来的源注释掉,修改成:
deb http://mirrors.ustc.edu.cn/kali kali-rolling main contrib non-free
保存退出。
4.更新,执行命令:
apt-get update --fix-missing
5.更新完成后,重新进行#触摸校准即可。
如果上面的源失效,可以使用以下方式:
解决方式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 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