2.8inch DPI LCD
说明
| ||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||
产品特点
- 2.8寸全贴合IPS电容触摸屏,硬件分辨率为480×640
- 基于Raspberry Pi 40pin GPIO接口设计
- 通过Raspberry Pi的DPI666接口驱动LCD,刷新率可达60Hz
- 通过Raspberry Pi的I2C接口驱动电容触摸,5点触控,钢化玻璃面板,硬度达6H
- 支持Raspbian和Kali操作系统
搭配树莓派使用
硬件连接
请按下面操作将显示屏缓慢安装到树莓派的40PIN GPIO接口上。
软件设置
如果你不清楚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=waveshare-28dpi-3b-4b dtoverlay=waveshare-28dpi-3b dtoverlay=waveshare-28dpi-4b dtoverlay=waveshare-touch-28dpi dtoverlay=vc4-kms-dpi-2inch8
- 5. 下载2.8inch DPI LCD 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 hdmi_timings=480 0 26 16 10 640 0 25 10 15 0 0 0 60 0 32000000 1 dtoverlay=waveshare-28dpi-3b-4b dtoverlay=waveshare-28dpi-3b dtoverlay=waveshare-28dpi-4b
注:如果是Raspberry Pi 4,还需要把dtoverlay=vc4-fkms-V3D注释掉。
- 2. 下载2.8inch DPI LCD DTBO文件并解压复制到overlays目录(/boot/overlays/)
- 3. 保存并安全弹出TF卡,将TF卡插入树莓派。
- 4. 给树莓派上电,正常等待约三十秒后可正常显示。
Raspberry Pi OS分支介绍
在2021年12月2日,树莓派的Raspberry Pi OS分成了两个分支,分别是Buster分支和Bullseye分支。
其中Buster分支是老系统的延续,更为稳定,使用raspicam作为默认的相机子系统。
Bullseye分支则添加了一些新的功能,其中将KMS作为了默认的显示驱动程序,并且使用libcamera作为默认的相机子系统。
Raspberry Pi OS和Raspberry Pi OS (64-bit)为Bullseye分支,Raspberry Pi OS (Legacy)为Buster分支。
更详细信息可查看:
注:以上信息更新于2022年1月24日,由于树莓派的镜像更新比较频繁,在你看到此信息时,相关信息可能已经过时,具体以镜像的实际表现为准,这里仅供参考。
Raspberry Pi OS和Kali显示旋转
先检查使用的系统是否有加载KMS或FKMS驱动。
查看方法:在/boot/config.txt中,看对应的主板是否有打开了dtoverlay=vc4-kms-v3d或dtoverlay=vc4-fkms-v3d。
有加载KMS或FKMS驱动
使用以下命令进行显示旋转:
sudo nano /etc/xdg/lxsession/LXDE-pi/autostart #在autostart文件末端输入对应显示旋转角度的指令,重启后生效 #0: 旋转0度; 1:旋转270度;2: 旋转180度; 3: 旋转90度 xrandr -o 1
没有加载KMS或FKMS驱动
使用以下命令进行显示旋转:
sudo nano /boot/config.txt #在config.txt文件末端输入对应显示旋转角度的指令,重启后生效 #0: 旋转0度; 1:旋转90度;2: 旋转180度; 3: 旋转270度 display_rotate=3
触摸旋转
在进行显示旋转后,由于触摸并没有随着显示角度做出更改,导致触摸位置不对。所以需要对触摸做出修改。
1. 安装libinput
sudo apt-get install xserver-xorg-input-libinput
- 如果你安装的是Ubuntu系统。安装指令为
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的部分,在里面添加以下语句,然后保存即可
Option "CalibrationMatrix" "0 1 0 -1 0 1 0 0 1"
sudo reboot
完成以上步骤即可进行90度旋转。
注:
90 度旋转: Option "CalibrationMatrix" "0 1 0 -1 0 1 0 0 1"
180度旋转: Option "CalibrationMatrix" "-1 0 1 0 -1 1 0 0 1"
270度旋转: Option "CalibrationMatrix" "0 -1 1 1 0 0 0 0 1"
其它操作
设置屏幕常亮
有些用户希望显示时,不受屏幕保护功能影响,可以通过如下设置。将屏幕保护功能关闭。
打开 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控制背光亮度
对于Pi4,需要先更新wiringPi版本,操作方法如下(对于3B+及更早的版本,则无需更新):
wget https://project-downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i wiringpi-latest.deb gpio -v # 运行gpio -v会出现2.52版本,如果没有出现说明安装出错
更新wiringPi成功后,可通过以下命令控制背光亮度。
gpio -g mode 18 pwm #占用管脚为PWM管脚 gpio pwmc 100 gpio -g pwm 18 1023 #最亮 gpio -g pwm 18 850 #最暗(对于Pi4, 850最暗;对于Pi3, 680最暗) 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
接口定义
以下标识为“NC”的引脚表示触摸屏没有占用该引脚,用户可用于其它应用。
引脚号 | 标识 | 描述 |
---|---|---|
1 | NC | 悬空 |
2 | 5V | 电源正(5V电源) |
3 | VSYNC | 垂直同步 |
4 | 5V | 电源正(5V电源) |
5 | HSYNC | 水平同步 |
6 | GND | 电源地 |
7 | B2 | RGB信号线 |
8 | G4 | RGB信号线 |
9 | GND | 电源地 |
10 | G5 | RGB信号线 |
11 | G7 | RGB信号线 |
12 | PWM | 背光控制 |
13 | TP_INT | 触摸面板的中断 |
14 | GND | 电源地 |
15 | R4 | RGB信号线 |
16 | R5 | RGB信号线 |
17 | NC | 悬空 |
18 | R6 | RGB信号线 |
19 | TP_SDA | 触摸面板的I2C SDA |
20 | GND | 电源地 |
21 | B7 | RGB信号线 |
22 | R7 | RGB信号线 |
23 | TP_SCL | 触摸面板的I2C SCL |
24 | B6 | RGB信号线 |
25 | GND | 电源地 |
26 | B5 | RGB信号线 |
27 | LCD_CLK | LCD时钟 |
28 | DE | LCD数据使能 |
29 | B3 | RGB信号线 |
30 | GND | 电源地 |
31 | B4 | RGB信号线 |
32 | G2 | RGB信号线 |
33 | G3 | RGB信号线 |
34 | GND | 电源地 |
35 | NC | 悬空 |
36 | G6 | RGB信号线 |
37 | NC | 悬空 |
38 | R2 | RGB信号线 |
39 | GND | 电源地 |
40 | R3 | RGB信号线 |
树莓派长按右键设置
树莓派长按右键软件安装
测试环境:2022-04-04-raspios-bullseye-armhf 32位系统
支持型号:支持微雪电子DSI LCD、DPI LCD和HDMI LCD电容触摸屏系列的32位系统,64位系统默认不支持
wget https://www.waveshare.net/w/upload/1/18/Evdev-right-click-emulation.zip unzip Evdev-right-click-emulation.zip cd evdev-right-click-emulation sudo apt install build-essential libevdev2 libevdev-dev -y sudo cp 'out/evdev-rce' '/usr/local/bin/' sudo chmod +x '/usr/local/bin/evdev-rce'
输入命令
sudo evdev-rce
运行之后即可触摸长按实现右键功能
设置 pi用户可以执行
sudo usermod -G 'input' -a pi echo 'uinput' | sudo tee -a /etc/modules sudo nano /etc/udev/rules.d/99-uinput.rules
在99-uinput.rules文件中添加
KERNEL=="uinput", MODE="0660", GROUP="input"
保存,再在终端运行
sudo udevadm control --reload-rules sudo udevadm trigger
然后重启
sudo reboot
重启后运行(此时不需要sudo)
evdev-rce
运行之后即可触摸长按实现右键功能
设置开机启动
在终端输入
sudo mkdir ~/.config/autostart sudo nano ~/.config/autostart/right_click.desktop
在right_click.desktop增加如下
[Desktop Entry] Version=1.0 Type=Application Name=evdev-rce GenericName=Enable long-press-to-right-click gesture Exec=env LONG_CLICK_INTERVAL=1000 LONG_CLICK_FUZZ=200 /usr/local/bin/evdev-rce Terminal=true StartupNotify=false
如果要修改灵敏度则可以修改 LONG_CLICK_INTERVAL=1000 LONG_CLICK_FUZZ=200 这两者参数大小,.