4inch DPI LCD (B)
说明
| ||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||
产品特点
- 4寸IPS屏,硬件分辨率为480×800
- 基于Raspberry Pi 40pin GPIO接口设计
- 通过Raspberry Pi的DPI666接口驱动LCD,刷新率可达60Hz
- 通过Raspberry Pi的I2C接口驱动电容触摸,5点触控,钢化玻璃面板,硬度达6H
- 支持Raspbian和Kali操作系统
- 带高保真喇叭和带3.5mm音频输出
- 支持旋钮调节背光亮度和声音大小
如何使用
用于树莓派的Raspbian和Kali系统。
请在树莓派官网下载最新版本的镜像。
- 1) 将压缩文件下载到PC上,并解压得到.img文件。
- 2) TF卡连接到PC,使用SDFormatter.exe软件格式化TF卡。
- 3) 打开Win32DiskImager.exe软件,选择第1步准备的系统镜像,点击write烧写系统镜像。
- 4) 烧写完成后,打开TF卡根目录(/boot/)的config.txt文件,在config.txt最后加入以下代码:
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=480 0 40 48 128 800 0 13 3 15 0 0 0 60 0 52000000 6 dtoverlay=waveshare-4dpib-3b-4b dtoverlay=waveshare-4dpib-3b dtoverlay=waveshare-4dpib-4b
注:如果是Raspberry Pi 4,还需要把dtoverlay=vc4-fkms-V3D注释掉。
- 5) 下载4inch DPI LCD (B) DTBO文件,解压出3个dtbo文件。将3个文件复制到overlays目录(/boot/overlays/),如下图如示:
- 6) 保存并安全弹出TF卡,将TF卡插入树莓派。
- 7) 将4inch DPI LCD (B)插入到树莓派的40PIN GPIO接口上,给树莓派上电,正常等待约十秒后可正常显示。
显示与触摸旋转
显示旋转
- 1. 在config.txt文件中加入语句(config文件位于TF卡根目录,即/boot中):
display_rotate=1 #1:90;2: 180; 3: 270
- 2. 保存后重启树莓派即可:
sudo reboot
触摸旋转
在进行显示旋转后,由于触摸并没有随着显示角度做出更改,导致触摸位置不对。所以需要对触摸做出修改。
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"
音频
1. 修改/boot/config.txt:
如果你使用的是zero/zero2w/Pi4,则在config.txt最后加入以下代码:
dtoverlay=audremap,pins_18_19
如你使用的是Pi3B/Pi3B+,则在config.txt最后加入以下代码:
gpio=18=a5 dtoverlay=pwm
2. 修改/etc/rc.local,在rc.local的exit 0前,加入以下代码:
sudo raspi-gpio set 18 a5
重启后,可以正常输出声音。 测试音频可以使用mplayer工具,运行以下代码进行安装和使用:
apt-get install mplayer mplayer xxx.mp3
注:如果没有声音,可尝试以下两个方法解决:
1. 旋转声音调节旋钮。
2.检查audio output是否正常。运行
sudo raspi-config
选择System Options -> Audio -> 1 Force 3.5mm ('headphone') jack
旋钮介绍
- Backlight旋钮:调整屏幕亮度。
- Volume旋钮:调整喇叭音量大小。
其它操作
设置屏幕常亮
有些用户希望显示时,不受屏幕保护功能影响,可以通过如下设置。将屏幕保护功能关闭。
打开 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
设置屏幕的关闭和开启
用户可以通过以下命令设置屏幕的关闭和开启。
vcgencmd display_power 0 vcgencmd display_power 1
接口定义
以下标识为“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 | AUDIO | 音频输出 |
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信号线 |
树莓派长按右键设置
树莓派长按右键软件安装
测试环境: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 这两者参数大小,.
资料
软件
教程