4inch DPI LCD (C)

来自Waveshare Wiki
跳转至: 导航搜索

说明

{{{name2}}}
{{{name3}}}
功能简介
特性 4寸树莓派IPS电阻屏
分辨率 720×720
适用范围 兼容任何版本的树莓派
' 无特性,不解释
' 无特性,不解释
接口 DPI

产品特点

  • 4寸IPS电容触摸屏,硬件分辨率为720×720
  • 基于Raspberry Pi 40pin GPIO接口设计
  • 通过Raspberry Pi的DPI666接口驱动LCD,刷新率可达60Hz
  • 通过Raspberry Pi的I2C接口驱动电容触摸,5点触控,钢化玻璃面板,硬度达6H
  • 支持Raspberry Pi OS、Ubuntu和Kali操作系统

搭配树莓派使用

硬件连接

请按下图连接将显示屏缓慢安装到树莓派的40PIN GPIO接口上。 4DPIC-Pi-4B.jpg

软件设置

如果你不清楚Raspberry Pi OS的两个分支的差别,可以查看以下介绍#Raspberry Pi OS分支介绍

用于Raspberry Pi OS Bookworm和Bullseye分支

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

1. 将压缩文件下载到PC上,并解压得到img文件。
2. TF卡连接到PC,使用SDFormatter软件格式化TF卡。
3. 打开Win32DiskImager软件,选择第1步准备的系统镜像,点击write烧写系统镜像。
4. 烧写完成后,打开TF卡根目录的config.txt文件,在config.txt末端加入以下代码并保存:
dtoverlay=vc4-kms-v3d
dtoverlay=vc4-kms-DPI-4inch
dtoverlay=waveshare-4dpic-3b-4b
dtoverlay=waveshare-4dpic-3b
dtoverlay=waveshare-4dpic-4b
dtoverlay=waveshare-4dpi
dtoverlay=waveshare-touch-4dpi
5. 下载4inch DPI LCD (C) DTBO文件并解压复制到overlays目录(/boot/overlays/)
6 保存并安全弹出TF卡,将TF卡插入树莓派。
7 给树莓派上电,正常等待约三十秒后可正常显示。

用于Raspberry Pi OS Buster分支和Ubuntu系统

1. 打开TF卡根目录的config.txt文件,在config.txt最后加入以下代码,保存并安全弹出TF卡。
gpio=0-9=a2
gpio=12-17=a2
gpio=20-25=a2
dtoverlay=dpi24
enable_dpi_lcd=1
display_default_lcd=1
extra_transpose_buffer=2
dpi_group=2
dpi_mode=87
dpi_output_format=0x7f216
dpi_timings=720 0 46 2 42 720 0 16 2 18 0 0 0 60 0 60000000 6
dtoverlay=waveshare-4dpic-3b-4b
dtoverlay=waveshare-4dpic-3b
dtoverlay=waveshare-4dpic-4b
2. 下载4inch DPI LCD (C) DTBO文件并解压复制到overlays目录(/boot/overlays/)
3. 保存并安全弹出TF卡,将TF卡插入树莓派。
4. 将4inch DPI LCD插入到树莓派的40PIN GPIO接口上,给树莓派上电,正常等待约三十秒后可正常显示。

显示旋转

Bookworm显示旋转

GUI 界面旋转

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

DSI-LCD-Bookworm-Rotate-01.png

  • 2.进入"Screen"->"DPI-1"->"Touchscreen" ,勾选"13-005d Goodix Capacitive TouchScreen"

2.8 DPI LCD rotate 1.png

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

2.8 DPI LCD rotate 2.png -->
注意:仅Bookworm系统支持以上同步旋转方法。对于Bullseye和Butser系统,显示旋转后,需手动单独设置触摸旋转。

lite版本显示旋转

sudo nano /boot/firmware/cmdline.txt
#在cmdline.txt文件开头添加对应显示旋转角度的指令,保存重启后生效
#显示旋转90度
video=DPI-1:720x720M@60,rotate=90
#显示旋转180度
video=DPI-1:720x720M@60,rotate=180
#显示旋转270度
video=DPI-1:720x720M@60,rotate=270

注意:无法使用 cmdline.txt 将 DPI 显示器与 HDMI 显示器分开旋转。当您同时使用 DPI 和 HDMI 时,它们共享相同的旋转值。

Bullseye/Buster显示旋转

GUI 界面旋转

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

DSI-LCD-Bullseye-Rotate-02.png

  • 2.进入"Screen"->"DPI-1"->"Orientation" ,勾选您需要旋转的方向,最后点击"Apply",即可完成显示旋转。

DSI-LCD-Bullseye-Rotate-03.png


lite版本显示旋转

  • 1.需要修改/boot/cmdline.txt文件:
sudo nano /boot/cmdline.txt
  • 2.在cmdline.txt文件开头,添加对应显示旋转角度的指令:(请注意,该命令需要放在同一行上,每个命令用空格分隔。)
video=DPI-1:720x720M@60,rotate=90

通过将rotate值更改为 90、180 或 270 来更改显示旋转的角度。

  • 3.保存并重新启动
sudo reboot

Stretch/Jessie显示旋转

对于一些比较古老的系统,它们不使用vc4-kms-v3d 或 vc4-fkms-v3d 驱动模式,显示旋转方法如下

  • 1. 在config.txt文件中加入语句(config文件位于TF卡根目录,即/boot中):
display_rotate=1 #1:90;2: 180; 3: 270
  • 2. 保存后重启树莓派即可
sudo reboot

触摸旋转

Bookworm 触摸旋转

如果使用图形界面进行旋转,可以在屏幕布局编辑器窗口中勾选“Touchscreen”来同步触摸旋转。屏幕旋转方法请参考前面的介绍。命令行旋转方法请参考以下文字:
1. 创建一个名为的新文件99-waveshare-touch.rules

sudo nano /etc/udev/rules.d/99-waveshare-touch.rules

2. 根据需要添加以下行:

#90°:
ENV{ID_INPUT_TOUCHSCREEN}=="1", ENV{LIBINPUT_CALIBRATION_MATRIX}="0 -1 1 1 0 0"

#180°:
#ENV{ID_INPUT_TOUCHSCREEN}=="1", ENV{LIBINPUT_CALIBRATION_MATRIX}="-1 0 1 0 -1 1"

#270°:
#ENV{ID_INPUT_TOUCHSCREEN}=="1", ENV{LIBINPUT_CALIBRATION_MATRIX}="0 1 0 -1 0 1"

3. 保存并重启

sudo reboot

Bullseye/Buster 触摸旋转

部分系统显示旋转后,触摸方向不一致,需要按下文操作进行触摸旋转:
1. 安装libinput

sudo apt-get install xserver-xorg-input-libinput
  • 如果你安装的是Ubuntu系统,或者是Jetson Nano。安装指令为
sudo apt install xserver-xorg-input-synaptics

2. 在/etc/X11/下创建xorg.conf.d目录 (如果该目录已存在,这直接进行第3步)

sudo mkdir /etc/X11/xorg.conf.d

3. 复制40-libinput-conf 文件到刚刚创建的目录下

sudo cp /usr/share/X11/xorg.conf.d/40-libinput.conf /etc/X11/xorg.conf.d/

4. 编辑该文件

sudo nano /etc/X11/xorg.conf.d/40-libinput.conf
#找到 touchscreen的部分,在里面添加对应的旋转角度指令,然后保存即可
#90°Right触摸旋转:
Option "CalibrationMatrix" "0 1 0 -1 0 1 0 0 1"
#180° Inverted触摸旋转: 
#Option "CalibrationMatrix" "-1 0 1 0 -1 1 0 0 1"
#270° Left旋转: 
#Option "CalibrationMatrix" "0 -1 1 1 0 0 0 0 1"
类似下图位置:

Touch roate.jpg
5. 重启树莓派

sudo reboot

完成以上步骤后触摸将会进行旋转。

触摸模式选择

Bookworm系统支持两种触控模式,可在 Screen Configuration > Touchscreen 菜单中切换:
DSI-Touch-Bookworm-Keyboard-03.png

  • 1.Mouse Emulation(默认)
单击 = 鼠标左键功能
长按 = 鼠标右键功能
支持双击
不支持滑动页面和多点触摸功能

注:此模式适合需要鼠标操作的场景,如双击打开文件管理器,长按实现右键功能。

  • 2.Multitouch
支持多点触摸功能
支持滑动页面
不支持双击和长按右键功能

注:此模式适合触控优化场景,如网页浏览、滚动列表。

使用触摸屏虚拟键盘

从 Raspberry Pi OS Bookworm 版本开始,系统默认集成了 Squeekboard 屏幕键盘。
当连接触摸显示屏时,在可以输入文字的情况下,屏幕键盘会自动显示;而在无法输入文字的情况下,它会自动隐藏。
对于不支持自动检测文字输入的应用程序,可以使用任务栏最右侧的键盘图标手动显示或隐藏屏幕键盘。
DSI-Touch-Bookworm-Keyboard-01.png
你也可以通过“Raspberry Pi Configuration”中的“Display”选项栏目,或通过 raspi-config 中的“Display”部分,来永久设置屏幕键盘的显示或隐藏。
DSI-Touch-Bookworm-Keyboard-02.png

  • 提示:

在 Raspberry Pi OS 的 Bookworm 之前的版本中,请使用 matchbox-keyboard。如果你使用的是 wayfire 桌面合成器,请使用 wvkbd。

设置屏幕常亮

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

sudo nano /etc/lightdm/lightdm.conf

修改 lightdm.conf 找到[SeatDefaults]段下的"xserver-command",取消注释,修改为如下:

#xserver-command=X

修改为

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

重启

sudo reboot

调节背光

PWM调光

  • 安装WiringPi
cd ~
git clone https://github.com/WiringPi/WiringPi.git
cd WiringPi
./build
gpio -v

安装成功会输出gpio version版本,如下所示:
3.5F pwm1.png

  • 手动调节显示器PWM背光
gpio -g mode 18 pwm      	#占用管脚为PWM管脚
gpio pwmc 100   		#设置 PWM 时钟分频器
gpio -g pwm 18 0         	#最暗
gpio -g pwm 18 1023      	#最亮
gpio -g mode 18 out      	#释放为输出
  • 设置屏幕的关闭和开启

用户可以通过以下命令设置屏幕的关闭和开启。

注意:需要PWM引脚释放为输出才可以控制。

sudo echo 1 | sudo tee /sys/class/backlight/rpi_backlight/bl_power
sudo echo 0 | sudo tee /sys/class/backlight/rpi_backlight/bl_power

pinctrl调光

  • 设置亮屏
sudo pinctrl set 18 op dh
  • 设置息屏
sudo pinctrl set 18 op dl

接口定义

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

引脚号 标识 描述
1 NC 电源正(3.3V电源)
2 5V 电源正(5V电源)
3 VSYNC 垂直同步
4 5V 电源正(5V电源)
5 HSYNC 水平同步
6 GND 电源地
7 B0 RGB信号线
8 G2 RGB信号线
9 GND 电源地
10 G3 RGB信号线
11 G5 RGB信号线
12 NC GPIO接口
13 TP_INT 触摸面板的中断
14 GND 电源地
15 R2 RGB信号线
16 R3 RGB信号线
17 NC 电源正(3.3V电源)
18 R4 RGB信号线
19 TP_SDA 触摸面板的I2C SDA
20 GND 电源地
21 B5 RGB信号线
22 R5 RGB信号线
23 TP_SCL 触摸面板的I2C SCL
24 B4 RGB信号线
25 GND 电源地
26 B3 RGB信号线
27 LCD_CLK LCD时钟
28 DE LCD数据使能
29 B1 RGB信号线
30 GND 电源地
31 B2 RGB信号线
32 G0 RGB信号线
33 G1 RGB信号线
34 GND 电源地
35 NC GPIO接口
36 G4 RGB信号线
37 NC GPIO接口
38 R0 RGB信号线
39 GND 电源地
40 R1 RGB信号线

资料

3D图纸

4inch DPI LCD (C)-3D图纸

软件

教程

树莓派入门教程(新)
树莓派入门教程
树莓派OpenCV教程
树莓派littleGL系列教程
树莓派QT教程
树莓派OpenWrt教程

开发教程

FAQ

你可以注释掉config.txt文件的以下语句

dtoverlay=waveshare-touch-4dpi


不建议将 DPI 屏幕连接线延长超过 10 厘米。

由于 DPI 使用的是并行信号,包含大量高速数据线,传输距离一长就容易出现信号干扰、画面抖动、花屏或无法显示的问题。
如果您需要较长距离的连接,建议改用支持差分信号的接口类型,如 HDMI、MIPI DSI 或 LVDS,它们在抗干扰和信号完整性方面更适合远距离传输。


售后


联系人:吴工
EMAIL:3005496359@qq.com
电话:0755-83043099
QQ:3005496359
微信:扫下方二维码添加
Wxy.png

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证