LCD_HAT_A_ 产品说明
| SKU | 产品 |
|---|---|
| 待补 | LCD_HAT_A_ |
产品简介
本产品主屏 2 英寸 IPS 屏幕,内置 ST7789VW 驱动芯片,使用 SPI 接口通信,广视角,支持 262K 颜色显示,240×320 分辨率,高清显示。双副屏 0.96 英寸 OLED 屏幕,内置 SSD1315 驱动芯片,使用 I2C 接口通信,支持蓝色显示,128×64 分辨率,可用于显示关键信息、状态指示或小型图形
提供完善的配套树莓派例程(WiringPi 库,以及 python 例程),STM32 例程,Arduino 例程。
产品参数
| 参数名称 | 参数 | 参数 |
|---|---|---|
| 供电电压 | 3.3V | 3.3V |
| 工作电流 | 840mA | 840mA |
| 产品尺寸 | 65.00 x 56.00(mm) | 65.00 x 56.00(mm) |
| 屏幕类型 | 0.96inch OLED | 2inch IPS |
| 控制芯片 | SSD1315 | ST7789 |
| 通信接口 | I2C | 4-wire SPI |
| 分辨率 | 128 × 64 | 240 × 320 |
| 显示尺寸 | 21.74mm × 11.20mm | 30.60mm × 40.80mm |
| 像素大小 | 0.15mm × 0.15mm | 0.0975mm× 0.0975mm |
功能引脚
| 功能引脚 | Board物理引脚序号 |
|---|---|
| VCC | 3.3V |
| GND | GND |
| MOSI | 19 |
| SCLK | 23 |
| CS | 24 |
| DC | 15 |
| RST | 13 |
| SDA | 3 |
| SCL | 5 |
| KEY1 | 7 |
| KEY2 | 11 |
| KEY3 | 16 |
| KEY4 | 18 |
硬件说明
通信协议
- SPI通信协议

从上的得知使用的是4线SPI通信,查阅数据手册可以得到如下的通信时序图,以传输RGB556为例:
注:与传统的SPI协议不同的地方是:由于是只需要显示,故而将从机发往主机的数据线进行了隐藏。
RESX为复位,模块上电时拉低,通常情况下置1;
CSX为从机片选, 仅当CS为低电平时,芯片才会被使能。
D/CX为芯片的数据/命令控制引脚,当DC = 0时写命令,当DC = 1时写数据
SDA为传输的数据,即RGB数据;
SCL为SPI通信时钟。
对于SPI通信而言,数据是有传输时序的,即时钟相位(CPHA)与时钟极性(CPOL)的组合:
CPHA的高低决定串行同步时钟是在第一时钟跳变沿还是第二个时钟跳变沿数据被采集,当CPHA = 0,在第一个跳变沿进行数据采集;
CPOL的高低决定串行同步时钟的空闲状态电平,CPOL = 0,为低电平。
从图中可以看出,当SCLK第一个下降沿时开始传输数据,一个时钟周期传输8bit数据,使用SPI0,按位传输,高位在前,低位在后。
- I2C通信协议
SSD1315 芯片的 7bit 设备地址方便为 0x1E和0x1F,即设备写地址为0x3C和0x3D,读地址为0x3D和0x3E。
波形介绍:
-
- 写入单个字节(往 0x1F 寄存器写入 0x01)
- 连续写入多个字节(往 0x1E、0x1F 分别写入 0x20、0x01)
- 读取单个字节(从 0x21 读取单个字节)
- 连续读取多个字节(从 0x21、0x22、0x23 读取 3 个字节)

打开SPI和I2C接口
sudo raspi-config nonint do_spi 0
sudo raspi-config nonint do_i2c 0
安装库
Wiringpi
wget https://www.waveshare.net/w/upload/d/df/WiringPi.zip
unzip WiringPi.zip
cd WiringPi
sudo ./build debian
sudo mv debian-template/wiringpi_3.10_arm64.deb .
sudo apt install ./wiringpi_3.10_arm64.deb
gpio -v
Python
#python2
sudo apt-get update
sudo apt-get install python-pip
sudo apt-get install python-pil
sudo apt-get install python-numpy
sudo pip install RPi.GPIO
sudo pip install spidev
#python3
sudo apt-get update
sudo apt-get install python3-pip
sudo apt-get install python3-pil
sudo apt-get install python3-numpy
sudo apt install python3-luma.oled
sudo apt install ttf-mscorefonts-installer -y