2.8inch Capacitive Touch LCD
来自Waveshare Wiki
| |||||||||||||||||||||||||
| |||||||||||||||||||||||||
说明
产品概述
产品参数
(请保证供电电压和逻辑电压一致,否则会导致无法正常工作)
参数名称 | 参数 |
供电电压 | 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引脚 | 功能 | 说明 |
VCC | 3.3V/5V | 请保证供电电压和逻辑电压一致,否则会导致无法正常工作 |
GND | GND | 电源地 |
MISO | SPI 输入 | 本设备为 SPI 从设备 |
MOSI | SPI 输出 | 本设备为 SPI 从设备 |
SCLK | SPI 时钟线 | SPI 时钟线 |
LCD_CS | SPI 片选 | SPI 片选脚 |
LCD_DC | LCD 选择信号引脚 | LCD 的信号控制引脚,L:命令 H:数据 |
LCD_RST | LCD 复位 | LCD 复位引脚,低复位 |
LCD_BL | LCD 背光控制 | LCD 背光控制,调节PWM占空比控制 |
TP_SDA | Touchpad 数据引脚 | 触控板数据引脚 |
TP_SCL | Touchpad 时钟引脚 | 触控板时钟引脚 |
TP_INT | Touchpad 中断引脚 | 触控板中断引脚,当有手指按下,触发中断 |
TP_RST | Touchpad 复位引脚 | 触控板复位引脚,低复位 |
- 18PIN FPC接口
引脚序号 | LCD引脚 | 功能 |
1 | VCC | 3.3V/5V (请保证供电电压和逻辑电压一致,否则会导致无法正常工作) |
2 | LCD_BL | LCD 背光控制 |
3 | GND | GND |
4 | SCLK | SPI 时钟线 |
5 | MOSI | SPI 输出 |
6 | MISO | SPI 输入 |
7 | LCD_DC | LCD 选择信号引脚 |
8 | LCD_RST | LCD 复位 |
9 | LCD_CS | SPI 片选 |
10 | NC | 悬空,内部无连接 |
11 | NC | 悬空,内部无连接 |
12 | TP_RST | Touchpad 复位引脚 |
13 | TP_SCL | Touchpad 时钟引脚 |
14 | TP_SDA | Touchpad 数据引脚 |
15 | TP_INT | Touchpad 中断引脚 |
16 | NC | 悬空,内部无连接 |
17 | NC | 悬空,内部无连接 |
18 | NC | 悬空,内部无连接 |
Raspberry Pi 下使用
请注意,以下示例通过树莓派4运行
硬件连接
- 13PIN 杜邦线接口
LCD引脚 | 树莓派(BCM) |
VCC | 3.3V |
GND | GND |
MISO | NC |
MOSI | 10 |
SCLK | 11 |
LCD_CS | 8 |
LCD_DC | 25 |
LCD_RST | 27 |
LCD_BL | 18 |
TP_SDA | 2 |
TP_SCL | 3 |
TP_INT | 4 |
TP_RST | 17 |
开启SPI与I2C接口
- 打开树莓派终端,输入以下指令进入配置界面:
sudo raspi-config
- 选择Interfacing Options -> SPI -> Yes 开启SPI接口
- 继续进入配置界面:
sudo raspi-config
- 选择Interfacing Options -> I2C -> Yes 开启I2C接口
- 重启树莓派
sudo reboot
- 检查 /boot/config.txt,可以看到'dtparam=i2c_arm=on' 和 'dtparam=spi=on' 已被写入
more /boot/config.txt
- 为了确保 SPI 没有被占用,建议其他的驱动覆盖暂时先关闭。可以使用 ls /dev/spi* 来检查 SPI 占用情况,终端输出 /dev/spidev0.0 和 /dev/spidev0.1 表示 SPI 情况正常
ls /dev/spi*
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
示例操作
- 下载示例程序
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
- 进入 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
- 进入 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 |
VCC | 3.3V |
GND | GND |
MISO | NC |
MOSI | 11 |
SCLK | 10 |
LCD_CS | 9 |
LCD_DC | 14 |
LCD_RST | 13 |
LCD_BL | 15 |
TP_SDA | 6 |
TP_SCL | 7 |
TP_INT | 17 |
TP_RST | 16 |
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点操作流程:
- 连接成功效果如下:
示例程序
- 下载示例程序
- 解压示例文件,打开 Thonny
- 进入示例文件夹中,进入RaspberryPi_Pico/Python 文件夹
- 将示例 LCD_2inch8_Touch.py 文件上传到 Raspberry Pi Pico 中
- 打开上传的文件
- 运行程序即可在屏幕上实现画板功能
- 若需上电自动运行程序,请将文件名修改为 main.py (原为 LCD_2inch8_Touch.py)
ESP32S3 下使用
请注意,以下示例使用2.0.11版本固件,版本过高可能导致函数不兼容以至于显示失败
硬件连接
- 13PIN 杜邦线接口
LCD引脚 | ESP32S3 |
VCC | 3.3V |
GND | GND |
MISO | NC |
MOSI | 45 |
SCLK | 40 |
LCD_CS | 42 |
LCD_DC | 41 |
LCD_RST | 39 |
LCD_BL | 5 |
TP_SDA | 1 |
TP_SCL | 3 |
TP_INT | 4 |
TP_RST | 2 |
搭建环境
- 安装 Arduino IDE
- 安装完成后打开 Arduino IDE
- 进入开发板管理器,搜索 esp32 ,在下方的 esp32 by Espressif Systems 中选择 当前最新版本并点击安装(若不能正常安装可使用手机热点尝试)
- 安装完成重启 Arduino IDE 即可使用
若安装失败则展开
- 安装 2.0.11 版本失败
- 下载资源文件
链接: https://pan.baidu.com/s/1lGddfYYJUPlqc2Kgznmytw 提取码: 0755
- 从资源管理器按路径 “c:\Users\Waveshare\AppData\Local\Arduino15\staging\packages” 进入(其中 Waveshare 为计算机用户名,需要开启显示隐藏文件)
- 将上方下载的文件解压至 packages 文件夹下
- 重新执行安装操作
- 安装完成重启 Arduino IDE 即可使用
安装库文件
- 请注意此前是否已经安装过该库,若已安装请存档原有的库,防止运行其他程序时出现错误失败
- 进入示例文件夹 2.8inch_Capacitive_Touch_LCD\ESP32S3\LVGL_Arduino ,双击 LVGL_Arduino.ino 打开示例
- 搜索lvgl库并安装(此操作为了在 Arduino 环境中搭建库文件夹,若之前已经安装过其他库,即存在以下指的文件夹则不用执行这一步)
- 进入库文件存放路径 c:\Users\Waveshare\AppData\Local\Arduino15\packages\libraries(其中 Waveshare 为计算机用户名)
- 删除刚才下载的 lvgl 库(若前面没有安装则忽略这一步)
- 安装示例文件中的两个库
- 复制提供的库到 c:\Users\Waveshare\AppData\Local\Arduino15\packages\libraries(其中 Waveshare 为计算机用户名) 下
- 完成库安装
Arduino 下使用
硬件连接
- 13PIN 杜邦线接口
LCD引脚 | Arduino |
VCC | 5V |
GND | GND |
MISO | NC |
MOSI | 11 |
SCLK | 13 |
LCD_CS | 10 |
LCD_DC | 7 |
LCD_RST | 8 |
LCD_BL | 9 |
TP_SDA | SDA |
TP_SCL | SCL |
TP_INT | 3 |
TP_RST | 4 |
示例程序
- 下载并解压 示例程序
- 进入示例文件 2.8inch_Capacitive_Touch_LCD\Arduino\LCD_2inch8_Touch 中,双击 LCD_2inch8_Touch.ino 打开示例
- 选择设备与端口,编译并烧录程序