跳到主要内容

3.5inch HDMI LCD

产品特点​

  • 3.5寸IPS屏,硬件分辨率为480×320,可以通过软件配置分辨率(最高可支持1920×1080)
  • 电阻式触摸控制
  • 兼容并可直接插入任何版本树莓派(树莓派Zero / Zero 2 W需另配HDMI连接线)
  • 支持Raspberry Pi OS / Ubuntu / Kali和Retropie系统
  • 可作为计算机显示器,无触摸功能(接入计算机须另配HDMI线)
  • 仅用于显示,不占用任何I/O资源(使用触摸功能,占用I/O)
  • 支持多国语言OSD菜单(可用于电源控制,调节亮度/对比度等)
  • 支持HDMI音频输出

如何使用​

硬件连接​

1. 连接GPIO接口接口

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

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

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

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

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

3 3

软件设置​

支持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
#使用800*480分辨率显示
hdmi_cvt 800 480 60 6 0 0 0
#使用480*320分辨率显示,需要添加以下3行代码
#hdmi_pixel_freq_limit=20000000
#hdmi_cvt 480 320 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

sudo nano /boot/firmware/config.txt

添加

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

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

旋转​

添加显示旋转参数​

对于Bookworm系统

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

DSI-LCD-Bookworm-Rotate-01

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

DSI-LCD-Bookworm-Rotate-04

旋转后,需要交换更改对应xmin xmax ymin ymax 的位置来旋转触摸方向
对于lite版本的系统,可以采用这种方式旋转

sudo nano .config/wayfire.ini

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

[output:HDMI-A-1]
mode = 480x320@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-03

执行命令,旋转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=180
#旋转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"

接口定义​

以下标识为“NC”的引脚表示LCD没有占用该引脚,用户可用于其它应用。

引脚号标识描述
13.3V电源正(3.3V电源输入)
25V电源正(5V电源输入)
3NCNC
45V电源正(5V电源输入)
5NCNC
6GND电源地
7NCNC
8NCNC
9GND电源地
10NCNC
11NCNC
12NCNC
13NCNC
14GND电源地
15NCNC
16NCNC
173.3V电源正(3.3V电源输入)
18NCNC
19TP_SI触摸面板的SPI数据输入
20GND电源地
21TP_SO触摸面板的SPI数据输出
22TP_IRQ触摸面板中断,检测到触摸面板有按下则为低电平
23TP_SCK触摸面板的SPI时钟信号
24NCNC
25GND电源地
26TP_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

相关资料​

图纸​

软件​

问题:怎么去除树莓派开机时GPU自检的彩色方块?​

在/boot/config.txt中添加

disable_splash=1

问题:如何替换树莓派开机logo图片?​

将自定义图片替换此目录的图片即可 /usr/share/plymouth/themes/pix/splash.png

问题:如何关闭Raspberry Pi OS系统的开机BOOT界面?​

可以在系统终端输入以下命令:

sudo -E rpi-eeprom-config --edit

如下图,将原有的DISABLE_HDMI中的0改成1,如果没有这句的话请直接添加,保存该文件后再重启即可

7inchC modification

问题:怎么使用3.5inch HDMI LCD上的音频接口播放音乐?​

sudo nano /boot/config.txt #编辑boot目录下的config.txt文件
将hdmi_drive=1 改为 hdmi_drive=2
ctrl+x-->Y #保存并退出
reboot #重启系统
apt-get install mplayer #安装mplayer
mplayer music.mp3 #播放音乐

问题:3.5inch HDMI LCD 的功耗是多少?​

5V供电,工作电流大约是0.5A

售后​

说明
进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证
梁经恒 (Javen)
企业微信
扫描二维码添加
梁经恒 (Javen)的企业微信二维码