2.8inch-Capacitive-Touch-LCD教程

说明

产品概述

产品参数

(请保证供电电压和逻辑电压一致,否则会导致无法正常工作)

参数名称参数
供电电压3.3V/5V
屏幕类型TFT
通信接口Display :SPI
Touch :I2C
控制芯片Display :ST7789
Touch :CST328
分辨率240(H) x 320(V)
显示尺寸43.20 (H) x 57.60 (V) mm
像素间距0.180x 0.180 mm
产品尺寸73.06(H)x 50.54(V) mm

接口说明

  • 13PIN 杜邦线接口
LCD引脚功能说明
VCC3.3V/5V请保证供电电压和逻辑电压一致,否则会导致无法正常工作
GNDGND电源地
MISOSPI 输入本设备为 SPI 从设备
MOSISPI 输出本设备为 SPI 从设备
SCLKSPI 时钟线SPI 时钟线
LCD_CSSPI 片选SPI 片选脚
LCD_DCLCD 选择信号引脚LCD 的信号控制引脚,L:命令 H:数据
LCD_RSTLCD 复位LCD 复位引脚,低复位
LCD_BLLCD 背光控制LCD 背光控制,调节PWM占空比控制
TP_SDATouchpad 数据引脚触控板数据引脚
TP_SCLTouchpad 时钟引脚触控板时钟引脚
TP_INTTouchpad 中断引脚触控板中断引脚,当有手指按下,触发中断
TP_RSTTouchpad 复位引脚触控板复位引脚,低复位
  • 18PIN FPC接口
引脚序号LCD引脚功能
1VCC3.3V/5V
(请保证供电电压和逻辑电压一致,否则会导致无法正常工作)
2LCD_BLLCD 背光控制
3GNDGND
4SCLKSPI 时钟线
5MOSISPI 输出
6MISOSPI 输入
7LCD_DCLCD 选择信号引脚
8LCD_RSTLCD 复位
9LCD_CSSPI 片选
10NC悬空,内部无连接
11NC悬空,内部无连接
12TP_RSTTouchpad 复位引脚
13TP_SCLTouchpad 时钟引脚
14TP_SDATouchpad 数据引脚
15TP_INTTouchpad 中断引脚
16NC悬空,内部无连接
17NC悬空,内部无连接
18NC悬空,内部无连接

Raspberry Pi 下使用

请注意,以下示例通过树莓派4运行

硬件连接

  • 13PIN 杜邦线接口
LCD引脚树莓派(BCM)
VCC3.3V
GNDGND
MISONC
MOSI10
SCLK11
LCD_CS8
LCD_DC25
LCD_RST27
LCD_BL18
TP_SDA2
TP_SCL3
TP_INT4
TP_RST17

开启SPI与I2C接口

  • 打开树莓派终端,输入以下指令进入配置界面:
sudo raspi-config
  • 选择Interfacing Options -> SPI -> Yes 开启SPI接口

2.8inch Capacitive Touch LCD RaspberryPi explain 1.png

2.8inch Capacitive Touch LCD RaspberryPi explain 2.png

2.8inch Capacitive Touch LCD RaspberryPi explain 3.png

  • 继续进入配置界面:
sudo raspi-config
  • 选择Interfacing Options -> I2C -> Yes 开启I2C接口

2.8inch Capacitive Touch LCD RaspberryPi explain 1.png

2.8inch Capacitive Touch LCD RaspberryPi explain 4.png

2.8inch Capacitive Touch LCD RaspberryPi explain 5.png

  • 重启树莓派
sudo reboot
  • 检查 /boot/config.txt,可以看到'dtparam=i2c_arm=on' 和 'dtparam=spi=on' 已被写入
more  /boot/config.txt

2.8inch Capacitive Touch LCD RaspberryPi explain 6.png

  • 为了确保 SPI 没有被占用,建议其他的驱动覆盖暂时先关闭。可以使用 ls /dev/spi* 来检查 SPI 占用情况,终端输出 /dev/spidev0.0 和 /dev/spidev0.1 表示 SPI 情况正常
ls /dev/spi* 

2.8inch Capacitive Touch LCD RaspberryPi explain 7.png


Python 环境使用

安装库文件

  • 安装库
sudo apt-get update
sudo apt-get install python3-pip
sudo apt-get install python3-pil
sudo apt-get install python3-numpy
sudo pip3 install spidev
sudo pip3 install Pillow

示例操作

  • 下载示例程序
cd
wget https://www.waveshare.net/w/upload/0/07/2.8inch_Capacitive_Touch_LCD_RaspberryPi.zip
  • (可选,使用过解压指令可跳过这一步)安装解压环境
sudo apt-get install unzip
  • 进入文件位置,执行解压指令
unzip 2.8inch_Capacitive_Touch_LCD_RaspberryPi.zip -d ./2.8inch_Capacitive_Touch_LCD

2.8inch Capacitive Touch LCD RaspberryPi example 2.png

  • 进入 Python 文件夹中
cd 2.8inch_Capacitive_Touch_LCD/Python
  • 运行示例程序即可在屏幕上显示3张图片,显示完即进入画板功能
sudo python 2inch8_LCD_test.py 

C 环境使用

安装库文件

  • 安装库
git clone https://github.com/WiringPi/WiringPi
cd WiringPi
./build
gpio -v
  • 运行gpio -v会出现2.70版本,如果没有出现说明安装出错
  • 下载示例文件
  • 进入文件目录,运行程序

示例操作

  • 下载示例程序
cd
wget https://www.waveshare.net/w/upload/0/07/2.8inch_Capacitive_Touch_LCD_RaspberryPi.zip
  • (可选,使用过解压指令可跳过这一步)安装解压环境
sudo apt-get install unzip
  • 进入文件位置,执行解压指令
unzip 2.8inch_Capacitive_Touch_LCD_RaspberryPi.zip -d ./2.8inch_Capacitive_Touch_LCD

2.8inch Capacitive Touch LCD RaspberryPi example 2.png

  • 进入 C 文件夹中
cd 2.8inch_Capacitive_Touch_LCD/C
  • 清除编译文件,重新编译
sudo make clean
sudo make -j
  • 编译成功,运行示例即可在屏幕上显示3张图片,显示完即进入画板功能
sudo ./main

Raspberry Pi Pico下使用

硬件连接

  • 13PIN 杜邦线接口
LCD引脚Raspberry Pi Pico
VCC3.3V
GNDGND
MISONC
MOSI11
SCLK10
LCD_CS9
LCD_DC14
LCD_RST13
LCD_BL15
TP_SDA6
TP_SCL7
TP_INT16
TP_RST17

Python 环境

前置操作

1.安装Thonny(Thonny安装包
2.按住Raspberry Pi Pico的“BOOTSEL”键,然后上电,上电后松开
3.电脑会出现一个新的盘符,将固件(Raspberry Pi Pico固件)解压,并将固件(后缀为uf2)拷贝至该磁盘(拷贝成功磁盘会自动消失)
4.开启Thonny,点击右下方的“Python x.x.x”,选择“Configure interpreter”
5.在弹出窗口中选择“解释器”->解释器选择“MicroPython(Raspbeery Pi Pico)”->端口选择“自动探测端口”
6.点击暂停,Shell窗口出现“MicroPython v1.20.0-50-g786013d46 on 2023-05-04; Raspberry Pi Pico with RP2040 Type "help()" for more information.”即为连接成功

  • 以下为第4点与第5点操作流程:
软件调试前置操作.png
  • 连接成功效果如下:
软件调试前置操作5.png

示例程序

  • 解压示例文件,打开 Thonny
  • 进入示例文件夹中,进入RaspberryPi_Pico/Python 文件夹
  • 将示例 LCD_2inch8_Touch.py 文件上传到 Raspberry Pi Pico 中

2.8inch Capacitive Touch LCD RaspberryPi Pico example 1.png

  • 打开上传的文件

2.8inch Capacitive Touch LCD RaspberryPi Pico example 2.png

  • 运行程序即可在屏幕上实现画板功能

2.8inch Capacitive Touch LCD RaspberryPi Pico example 3.png

  • 若需上电自动运行程序,请将文件名修改为 main.py (原为 LCD_2inch8_Touch.py)

ESP32S3 下使用

请注意,以下示例使用2.0.11版本固件,版本过高可能导致函数不兼容以至于显示失败

硬件连接

  • 13PIN 杜邦线接口
LCD引脚ESP32S3
VCC3.3V
GNDGND
MISONC
MOSI45
SCLK40
LCD_CS42
LCD_DC41
LCD_RST39
LCD_BL5
TP_SDA1
TP_SCL3
TP_INT4
TP_RST2

搭建环境

ESP32-S3 TO Arduino 1.png

  • 安装完成后打开 Arduino IDE

ESP32-S3 TO Arduino 2.png

  • 进入开发板管理器,搜索 esp32 ,在下方的 esp32 by Espressif Systems 中选择 当前最新版本并点击安装(若不能正常安装可使用手机热点尝试)

ESP32-S3 TO Arduino 3.png

  • 安装完成重启 Arduino IDE 即可使用

ESP32-S3 TO Arduino 4.png


若安装失败则展开

  • 安装 2.0.11 版本失败

ESP32-S3 TO Arduino 5.png

链接: https://pan.baidu.com/s/1lGddfYYJUPlqc2Kgznmytw
提取码: 0755

ESP32-S3 TO Arduino 6.png

  • 从资源管理器按路径 “c:\Users\Waveshare\AppData\Local\Arduino15\staging\packages” 进入(其中 Waveshare 为计算机用户名,需要开启显示隐藏文件)

ESP32-S3 TO Arduino 7.png

  • 将上方下载的文件解压至 packages 文件夹下

ESP32-S3 TO Arduino 8.png

  • 重新执行安装操作

ESP32-S3 TO Arduino 9.png

  • 安装完成重启 Arduino IDE 即可使用

ESP32-S3 TO Arduino 10.png


安装库文件

  • 请注意此前是否已经安装过该库,若已安装请存档原有的库,防止运行其他程序时出现错误失败
  • 进入示例文件夹 2.8inch_Capacitive_Touch_LCD\ESP32S3\LVGL_Arduino ,双击 LVGL_Arduino.ino 打开示例
  • 搜索lvgl库并安装(此操作为了在 Arduino 环境中搭建库文件夹,若之前已经安装过其他库,即存在以下指的文件夹则不用执行这一步)

2.8inch Capacitive Touch LCD ESP32S3 example 2.png

2.8inch Capacitive Touch LCD ESP32S3 example 4.png

  • 进入库文件存放路径 c:\Users\Waveshare\AppData\Local\Arduino15\packages\libraries(其中 Waveshare 为计算机用户名)

2.8inch Capacitive Touch LCD ESP32S3 example 3.png

  • 删除刚才下载的 lvgl 库(若前面没有安装则忽略这一步)

2.8inch Capacitive Touch LCD ESP32S3 example 5.png

  • 安装示例文件中的两个库
  • 复制提供的库到 c:\Users\Waveshare\AppData\Local\Arduino15\packages\libraries(其中 Waveshare 为计算机用户名) 下

2.8inch Capacitive Touch LCD ESP32S3 example 7.png

  • 完成库安装

示例程序

  • 重新打开示例
  • 选择型号与端口,编译并烧录示例

2.8inch Capacitive Touch LCD ESP32S3 example 9.png

  • 烧录成功可观察到三个可操作页面

Arduino 下使用

硬件连接

  • 13PIN 杜邦线接口
LCD引脚Arduino
VCC5V
GNDGND
MISONC
MOSI11
SCLK13
LCD_CS10
LCD_DC7
LCD_RST8
LCD_BL9
TP_SDASDA
TP_SCLSCL
TP_INT3
TP_RST4

示例程序

  • 下载并解压 示例程序
  • 进入示例文件 2.8inch_Capacitive_Touch_LCD\Arduino\LCD_2inch8_Touch 中,双击 LCD_2inch8_Touch.ino 打开示例

2.8inch Capacitive Touch LCD Arduino example 1.png

  • 选择设备与端口,编译并烧录程序

2.8inch Capacitive Touch LCD Arduino example 2.png