3.5inch RPi LCD (G)

来自Waveshare Wiki
跳转至: 导航搜索
3.5inch RPi LCD (G)
{{{name2}}}
{{{name3}}}
功能简介
特性 无特性,不解释
显示尺寸 3.5 英寸
分辨率 320×480
' 无特性,不解释
' 无特性,不解释
接口 SPI

产品介绍

产品简介

3.5inch RPi LCD (G) 配备320 × 480分辨率的电阻触摸屏,支持顶针通信和 GH1.25 11PIN 连接线两种连接方式,并提供树莓派、ESP32、Pico、Arduino等的示例资料。

产品特性

  • 320 × 480 分辨率,262K 彩色,能清晰地显示彩色图片
  • 触摸屏透过率高,响应快,寿命长
  • 内置 ST7796S 驱动芯片和XPT2046电阻触控芯片,使用SPI接口通信,不占用过多接口引脚资源
  • 支持顶针通信和 GH1.25 11PIN 连接线两种连接方式
  • 采用黑色沉金工艺,美观耐用
  • 提供树莓派、树莓派 Pico、ESP32 以及 Arduino 平台的完整例程和开发资料

接口介绍

3.5inch-RPi-LCD-G-details-11.jpg

产品尺寸

3.5inch-RPi-LCD-G-details-size.jpg

产品参数

参数名称 参数
供电电压 5V
逻辑电压 3.3V
屏幕类型 IPS
通信接口 SPI
控制芯片 Display :ST7796S
Touch :XPT2046
分辨率 320(H) x 480(V)
显示尺寸 49.56 × 74.04 (mm)
产品尺寸 56.00 × 85.00(mm)

Raspberrypi使用教程

硬件连接

这款产品支持两种连接方式连接到树莓派使用

方法一:通过顶针连接树莓派

3.5inch-RPi-LCD-G-details-5.jpg

方法二:通过杜邦线连接树莓派

功能引脚 BCM编码 Board物理引脚序号
TP_IRQ 17 11
TP_CS 7 26
LCD_BL 18 12
LCD_RST 27 13
LCD_DC 22 15
LCD_CS 8 24
SCLK 11 23
MOSI 10 19
MISO 9 21
GND GND 6
VCC 5V 4

开启SPI接口

在终端输入以下语句:

sudo raspi-config nonint do_spi 0

Python 环境

  • 安装库
sudo apt-get update
sudo apt-get install python3-pip
sudo apt-get install python3-pil
sudo apt-get install python3-numpy
sudo apt-get install python3-spidev
sudo apt install python3-smbus2
  • 下载运行示例程序
wget https://www.waveshare.net/w/upload/b/b7/3inch5_RPI_LCD_G_RPI.zip
unzip 3inch5_RPI_LCD_G_RPI.zip
cd 3inch5_RPI_LCD_G_RPI
sudo python ./main.py

Bookworm系统桌面显示

方法一:配置设备树驱动屏幕(推荐)

  • 在终端输入
wget https://www.waveshare.net/w/upload/d/da/St7796s.zip
unzip St7796s.zip
sudo cp st7796s.bin /lib/firmware/
  • 打开config.txt文件
sudo nano /boot/firmware/config.txt

在[all]末尾添加以下语句:

dtparam=spi=on
dtoverlay=mipi-dbi-spi,speed=48000000
dtparam=compatible=st7796s\0panel-mipi-dbi-spi
dtparam=width=320,height=480,width-mm=49,height-mm=79
dtparam=reset-gpio=27,dc-gpio=22,backlight-gpio=18
dtoverlay=ads7846,speed=2000000,penirq=17,xmin=300,ymin=300,xmax=3900,ymax=3800,pmin=0,pmax=65535,xohms=400
extra_transpose_buffer=2
  • 重启后即可正常点亮触摸屏幕
sudo reboot

方法二:安装内核模块与 DTBO 驱动屏幕

安装驱动模块

注:Bookworm需使用官方正式版本6.6.51内核版本以及以上。
  • 确定当前内核版本
uname -a

此命令将输出完整的内核版本信息。例如,在 Raspberry Pi 5 上执行该命令,可能会得到如下输出:

Linux raspberrypi 6.12.25+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.12.25-1+rpt1 (2025-04-30) aarch64

这表明此系统的内核版本号是6.12.25+rpt-rpi-2712,使用的是64位ARM(AArch64)架构。

  • 下载安装st7796驱动模块
# 第一步:下载并进入Waveshare-st7796s驱动文件夹
wget https://www.waveshare.net/w/upload/4/49/Waveshare-st7796s.zip
unzip Waveshare-st7796s.zip
cd Waveshare-st7796s
# 第二步:cd到对应内核版本号文件目录 # 如上面例子则运行下面指令 cd 6.12.25/64/rpi-2712-RPi5
# 复制对应版本的st7796s.ko到当前系统 sudo cp st7796s.ko /lib/modules/$(uname -r)/kernel/drivers
# 确保模块在开机时被加载,将模块名添加到 /etc/modules 文件中: sudo nano /etc/modules
# 在末尾添加 st7796s

3.5F st7796.png
终端输入以下语句,处理内核模块依赖关系:

sudo depmod -a
  • 配置驱动设备树
cd
wget https://www.waveshare.net/w/upload/2/2d/Waveshare35g.dtbo
sudo cp Waveshare35g.dtbo /boot/overlays/

对于Rpi4 & Rpi5

  • 配置驱动文件

需要先参考此处步骤#安装驱动模块

  • 编辑config.txt配置文件
sudo nano /boot/firmware/config.txt

注释掉双屏配置语句
3.5F config dtbo1.png
在[all]末尾添加以下语句

dtparam=i2c_arm=on
dtparam=i2c_arm_baudrate=50000
dtparam=spi=on
dtoverlay=Waveshare35g,fps=60,speed=48000000,rotate=90,penirq=17
hdmi_force_hotplug=1
max_usb_current=1
hdmi_group=2
hdmi_mode=87
hdmi_cvt 480 320 60 6 0 0 0
hdmi_drive=2
  • 创建屏幕配置文件

创建98-spi-screen.conf文件

sudo nano /etc/X11/xorg.conf.d/98-spi-screen.conf 

添加下面参数到98-spi-screen.conf文件内

Section "Device"
    Identifier "SPI Screen"    
    Driver "fbdev"
    Option "fbdev" "/dev/fb0"
EndSection

注:整个流程操作完成之后。 如果不显示。 修改"/dev/fb0" 为 "/dev/fb1" 之后再重启看看

  • 切换为X11
sudo raspi-config nonint do_wayland W1

重启生效

对于所有树莓派版本

此方法必须是基于bookworm-lite版本操作,64位 lite32位 lite

  • 配置驱动文件

需要先参考此处步骤#安装驱动模块

  • 编辑config.txt配置文件
sudo nano /boot/firmware/config.txt

注释掉KMS和双屏配置语句
FBCP CLOSE.jpg
在[all]末尾添加以下语句

dtparam=i2c_arm=on
dtparam=i2c_arm_baudrate=50000
dtparam=spi=on
dtoverlay=Waveshare35g,fps=60,speed=48000000,rotate=90,ts_rotate_90
hdmi_force_hotplug=1
max_usb_current=1
hdmi_group=2
hdmi_mode=87
hdmi_cvt 480 320 60 6 0 0 0
hdmi_drive=2
  • 下载必要的软件
    • 安装xorg服务
sudo apt-get install --no-install-recommends xserver-xorg -y
sudo apt-get install --no-install-recommends xinit -y
    • 安装桌面管理器
sudo apt install lightdm -y
    • 安装树莓派官方GUI
sudo apt install raspberrypi-ui-mods -y  
    • 安装git
sudo apt install git -y
    • 安装浏览器(可选)
sudo apt install chromium-browser -y
    • 安装音乐播放器(可选)
sudo apt install vlc -y


  • 下载运行驱动

打开树莓派终端,执行:

sudo apt install libraspberrypi-dev -y
sudo apt-get install unzip -y
sudo apt-get install cmake -y
sudo wget https://www.waveshare.net/w/upload/6/66/Rpi-fbcp.zip
sudo unzip ./Rpi-fbcp.zip
cd rpi-fbcp/
sudo rm -rf build
sudo mkdir -m 777 ./build
cd ./build
sudo cmake ..
sudo make -j4
sudo install fbcp /usr/local/bin/fbcp
  • 设置自启动startx与fbcp
    • 打开Bash shell文件,如果没有则自己创建一个
sudo nano ~/.bashrc

把以下代码加到文件末尾

if [ "$(cat /proc/device-tree/model | cut -d ' ' -f 3)" = "5" ]; then
    # rpi 5B configuration
    export FRAMEBUFFER=/dev/fb1
    startx  2> /tmp/xorg_errors
else
    # Non-pi5 configuration
    export FRAMEBUFFER=/dev/fb0
    startx  2> /tmp/xorg_errors
fi
    • 创建并编辑一个自启动fbcp服务文件
sudo nano /etc/systemd/system/fbcp.service

在文件内添加服务配置

[Unit]
Description=Framebuffer Copy for Raspberry Pi
After=network.target

[Service]
ExecStartPre=/bin/sleep 20
ExecStart=/usr/local/bin/fbcp
Restart=always
User=root
Group=root

[Install]
WantedBy=multi-user.target

重新加载 systemd 配置

sudo systemctl daemon-reload

服务启用开机自启动

sudo systemctl enable fbcp.service

测试启动服务

sudo systemctl start fbcp.service
  • 设置CLI自动登录
sudo raspi-config nonint do_boot_behaviour B2
sudo raspi-config nonint do_wayland W1
sudo reboot

Note1:确保树莓派的用户名为pi否则无法正常自动登录
Note2:设置上述所有配置后,系统每次重启期间都会变久一点,SSH也需要等待一会儿才能进入;

旋转屏幕

GUI 界面旋转

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

3.5F rotate 1.png

  • 2.勾选上"Touchscreen"

3.5F rotate 2.png 3.5F rotate 3.png

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

3.5F rotate 4.png
命令行控制桌面旋转

  • 安装 wlr-randr 工具
sudo apt install wlr-randr
  • 查看输出名称
wlr-randr

输出示例这里以SPI-1设备为例
3.5F rotate 5.png

  • 执行旋转命令
 wlr-randr --output SPI-1 --transform 90
 #旋转参数可改为normal、90、180、270

调节背光

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      	#释放为输出

pinctrl调光

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

Bullseye系统桌面显示

安装驱动模块

注:Bullseye需使用官方正式版本6.1.21内核版本以及以上。
  • 确定当前内核版本
uname -a

此命令将输出完整的内核版本信息。例如,在 Raspberry Pi 5 上执行该命令,可能会得到如下输出:

Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr  3 17:24:16 BST 2023 aarch64 GNU/Linux

这表明此系统的内核版本号是6.1.21,使用的是64位ARM(AArch64)架构。

  • 下载安装st7796驱动模块
# 第一步:下载并进入Waveshare-st7796s驱动文件夹
wget https://www.waveshare.net/w/upload/4/49/Waveshare-st7796s.zip
unzip Waveshare-st7796s.zip
cd Waveshare-st7796s
# 第二步:cd到对应内核版本号文件目录 # 如上面例子则运行下面指令 cd 6.1.21/64/
# 复制对应版本的st7796s.ko到当前系统 sudo cp st7796s.ko /lib/modules/$(uname -r)/kernel/drivers
# 确保模块在开机时被加载,将模块名添加到 /etc/modules 文件中: sudo nano /etc/modules
# 在末尾添加 st7796s

3.5F st7796.png
终端输入以下语句,处理内核模块依赖关系:

sudo depmod -a
  • 配置驱动设备树
cd
wget https://www.waveshare.net/w/upload/2/2d/Waveshare35g.dtbo
sudo cp Waveshare35g.dtbo /boot/overlays/

配置驱动文件

需要先参考此处步骤#安装驱动模块

  • 编辑config.txt配置文件
sudo nano /boot/config.txt

注释掉KMS和双屏配置语句
FBCP CLOSE.jpg
在[all]末尾添加以下语句

dtparam=i2c_arm=on
dtparam=i2c_arm_baudrate=50000
dtparam=spi=on
dtoverlay=Waveshare35g,fps=60,speed=48000000,rotate=90,penirq=17
hdmi_force_hotplug=1
max_usb_current=1
hdmi_group=2
hdmi_mode=87
hdmi_cvt 480 320 60 6 0 0 0
hdmi_drive=2

下载运行驱动

打开树莓派终端,执行:

sudo apt install libraspberrypi-dev -y
sudo apt-get install unzip -y
sudo apt-get install cmake -y
sudo wget https://www.waveshare.net/w/upload/6/66/Rpi-fbcp.zip
sudo unzip ./Rpi-fbcp.zip
cd rpi-fbcp/
sudo rm -rf build
sudo mkdir -m 777 ./build
cd ./build
sudo cmake ..
sudo make -j4
sudo install fbcp /usr/local/bin/fbcp

设置自启动fbcp

  • 打开rc.local文件
sudo nano /etc/rc.local

把以下代码加到exit 0前,注意一定要添加"&" 后台运行,否则可能会出现系统不能启动的情况。

sleep 20
fbcp &

3.5F rocal.png

校准电阻触摸屏

在终端运行以下语句:

sudo apt-get install xserver-xorg-input-evdev 
sudo cp -rf /usr/share/X11/xorg.conf.d/10-evdev.conf /usr/share/X11/xorg.conf.d/45-evdev.conf
sudo apt-get install xinput-calibrator
sudo nano /usr/share/X11/xorg.conf.d/99-calibration.conf

在99-calibration.conf文件中增加以下语句:

Section "InputClass"
        Identifier      "calibration"
        MatchProduct    "ADS7846 Touchscreen"
        Option  "Calibration"   "3932 300 294 3801"
        Option  "SwapAxes"      "1"
        Option "EmulateThirdButton" "1"
        Option "EmulateThirdButtonTimeout" "1000"
        Option "EmulateThirdButtonMoveThreshold" "300"
EndSection

重启生效

ESP32S3使用教程

本章介绍 ESP32 环境搭建,包括 Arduino IDE、ESP32板管理、相关库的安装,程序编译下载及示例程序测试,帮助用户掌握开发板,便于二次开发。

硬件连接

  • 11PIN 杜邦线接口
LCD引脚 ESP32S3
VCC 3V3
GND GND
MISO GP4
MOSI GP13
SCLK GP12
LCD_CS GP14
LCD_DC GP17
LCD_RST GP18
LCD_BL GP5
TP_CS GP2
TP_IRQ GP9

Arduino环境搭建

下载和安装 Arduino IDE

  • 点击访问Arduino官网,选择对应的系统和系统位数下载。Arduino IDE的版本需要≥1.8,安装的路径不能出现中文,否则编译时会出现错误。
    ESP32-S3-AMOLED-1.91-Ar-software-01.png
  • 运行安装程序,全部默认安装即可。
环境设置是在 Windows 10 系统下进行,Linux和Mac用户可访问Arduino-esp32环境搭建参考

安装 Arduino-ESP32

  • ESP32相关主板在Arduino IDE使用,须先安装“esp32 by Espressif Systems”开发板的软件包
  • 根据板安装要求进行安装,一般推荐“在线安装”, 若在线安装失败,则使用“离线安装
  • 安装教程,详见:Arduino 板管理教程
  • 3.5inch RPi LCD (G) 所需开发板安装说明
板名称 板安装要求 版本号要求
esp32 by Espressif Systems “离线”安装/“在线”安装 2.0.13

运行第一个 Arduino 程序

如果你刚入门学习ESP32和Arduino,还不知道如何创建、编译、烧录和运行Arduino ESP32程序,那么请展开看看,希望可以帮助到你!

新建工程

  • 运行Arduino IDE,选择 File -> New Sketch
    ESP32-S3-AMOLED-1.91-Ar-study-01.png
  • 输入代码:
void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
}

void loop() {
  // put your main code here, to run repeatedly:
  Serial.println("Hello, World!");
  delay(2000);
}
  • 保存代码工程,选择 File -> Save As...;在弹出的菜单选择保存工程路径,并输入工程名,如 Hello_World,点击保存

ESP32-S3-AMOLED-1.91-Ar-study-02.png

编译和烧录程序

  • 选择对应的开发板,以ESP32S3主板为例:

①. 点击选择下拉框选项“Select Other Board and Port”;
②. 搜索需要的开发板型号“esp32s3 dev module”并选择;
③. 选择COM口
④. 保存选择。
ESP32-S3-AMOLED-1.91-Ar-study-03.png

  • 若ESP32S3主板只有USB口,须打开(Enable)USB CDC,如下图所示:

ESP32-S3-AMOLED-1.91-Ar-study-04.png

  • 编译并上传程序:

①. 编译程序;②. 编译并下载程序;③. 下载成功。
ESP32-S3-AMOLED-1.91-Ar-study-05.png

  • 打开串口监视窗口,程序每隔2秒会打印“Hello World!”,运行情况如下所示:

ESP32-S3-AMOLED-1.91-Ar-study-06.png

示例程序

  • 下载示例程序,并解压
  • 复制libraries文件夹至Arduino的库路径
C:\Users\{用户名}\Documents\Arduino
  • 在3inch5_RPI_LCD_G_ESP32S3\examples\main路径双击打开示例main.ino

3.5inch-RPi-LCD-G-ESP32-1.png

  • 根据您的ESP32S3的资源情况选择相应的配置

3.5inch-RPi-LCD-G-ESP32-2.png

  • 编译并烧录示例

3.5inch-RPi-LCD-G-ESP32-3.png
等待烧录完成后,屏幕即可正常显示触摸。

资料

原理图

程序

数据手册

软件

图纸

Retropie 系统使用教程

FAQ

售后

联系人:梁工
电话:0755-83043099
微信:扫下方二维码添加
Ljh.png

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