“2inch LCD Module”的版本间的差异
小 (文本替换 - 替换“{|border=1; style="width:700px;" align="center"”为“{|border=1; style="width:400px;" align="center"”) |
|||
第91行: | 第91行: | ||
===硬件连接=== | ===硬件连接=== | ||
[[file:2inch-LCD-Module-3.jpg|900px]]<br /> | [[file:2inch-LCD-Module-3.jpg|900px]]<br /> | ||
− | {|border=1; style="width: | + | {|border=1; style="width:400px;" align="center" |
|-style="background:#0000ff; color:white;" align="center" | |-style="background:#0000ff; color:white;" align="center" | ||
|2inch LCD||RPi引脚号||BCM | |2inch LCD||RPi引脚号||BCM | ||
第156行: | 第156行: | ||
*本例程使用的开发板为[[XNUCLEO-F103RB]],程序是基于HAL库 | *本例程使用的开发板为[[XNUCLEO-F103RB]],程序是基于HAL库 | ||
===硬件连接=== | ===硬件连接=== | ||
− | {|border=1; style="width: | + | {|border=1; style="width:400px;" align="center" |
|-style="background:#0000ff; color:white;" align="center" | |-style="background:#0000ff; color:white;" align="center" | ||
|2inch LCD||XNUCLEO-F103RB | |2inch LCD||XNUCLEO-F103RB | ||
第190行: | 第190行: | ||
*本例程使用的开发板为[[Arduino UNO]] | *本例程使用的开发板为[[Arduino UNO]] | ||
===硬件连接=== | ===硬件连接=== | ||
− | {|border=1; style="width: | + | {|border=1; style="width:400px;" align="center" |
|-style="background:#0000ff; color:white;" align="center" | |-style="background:#0000ff; color:white;" align="center" | ||
|2inch LCD||UNO PLUS | |2inch LCD||UNO PLUS |
2020年11月13日 (五) 13:51的版本
| ||||||||||||||||||||||
| ||||||||||||||||||||||
| ||||||||||||||||||||||
|
目录
产品简介
本产品是 2寸IPS显示屏模块,分辨率为 240*320,使用 SPI 接口通信,LCD 带有内部控制器,已封装好基本函数,可以实现图片旋转、画点、线、圆、矩形,显示英文字符和中文字符,显示图片。
提供完善的配套树莓派例程(BCM2835 库,WiringPi 库,以及 python 例程),STM32 例程,Arduino 例程。
产品参数
- 工作电压:3.3V/5V
- 通信接口:SPI
- 屏幕类型:TFT
- 控制芯片:ST7789V
- 分辨率:240(V) x 320(H)RGB
- 显示尺寸:23.4(H)x 23.4(V)mm
- 像素大小:0.0975(H)x 0.0975(V)mm
- 产品尺寸:58 x 35(mm)
功能引脚
功能引脚 | 描述 |
VCC | 3.3V/5V电源正 |
GND | 电源地 |
DIN | SPI数据输入 |
CLK | SPI时钟输入 |
CS | 片选,低电平有效 |
DC | 数据/命令选择 |
RST | 复位 |
BL | 背光 |
硬件说明
LCD 及其控制器
该LCD支持12位,16位以及18位每像素的输入颜色格式,即RGB444,RGB565,RGB666三种颜色格式,本例程使用RGB565的颜色格式,这也是常用的RGB格式。
对于大部分的LCD控制器而言,都可以配置控制器的通信方式,通常都有8080并行接口、三线SPI、四线SPI等通信方式。此LCD使用四线SPI通信接口,这样可以大大的节省GPIO口,同时通信速度也会比较快。
通信协议
从上的得知使用的是4线SPI通信,查阅数据手册可以得到如下的通信时序图,以传输RGB556为例:
注:与传统的SPI协议不同的地方是:由于是只需要显示,故而将从机发往主机的数据线进行了隐藏。
RESX为复位,模块上电时拉低,通常情况下置1;
CSX为从机片选, 仅当CS为低电平时,芯片才会被使能。
D/CX为芯片的数据/命令控制引脚,当DC = 0时写命令,当DC = 1时写数据
SDA为传输的数据,即RGB数据;
SCL为SPI通信时钟。
对于SPI通信而言,数据是有传输时序的,即时钟相位(CPHA)与时钟极性(CPOL)的组合:
CPHA的高低决定串行同步时钟是在第一时钟跳变沿还是第二个时钟跳变沿数据被采集,当CPHL = 0,在第一个跳变沿进行数据采集;
CPOL的高低决定串行同步时钟的空闲状态电平,CPOL = 0,为低电平。
从图中可以看出,当SCLK第一个下降沿时开始传输数据,一个时钟周期传输8bit数据,使用SPI0,按位传输,高位在前,低位在后。
树莓派
提供C语言与python例程
开启SPI接口
- 打开树莓派终端,输入以下指令进入配置界面
sudo raspi-config 选择Interfacing Options -> SPI -> Yes 开启SPI接口
sudo reboot
请确保SPI没有被其他的设备占用,你可以在/boot/config.txt中间检查
安装库
- 安装BCM2835, 打开树莓派终端,并运行一下指令
wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.60.tar.gz tar zxvf bcm2835-1.60.tar.gz cd bcm2835-1.60/ sudo ./configure sudo make sudo make check sudo make install # 更多的可以参考官网:http://www.airspayce.com/mikem/bcm2835/
- 安装wiringPi
sudo apt-get install wiringpi #对于树莓派4B可能需要进行升级: cd /tmp wget https://project-downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i wiringpi-latest.deb gpio -v # 运行gpio -v会出现2.52版本,如果没有出现说明安装出错 #Bullseye分支系统使用如下命令: git clone https://github.com/WiringPi/WiringPi cd WiringPi ./build gpio -v # 运行gpio -v会出现2.70版本,如果没有出现说明安装出错
- 安装python2库
sudo apt-get updata sudo apt-get install python-pip sudo pip install RPi.GPIO sudo pip install spidev sudo apt-get install python-imaging
- 安装python3库
sudo apt-get update sudo apt-get install python3-pip sudo pip3 install RPi.GPIO sudo pip3 install spidev sudo apt-get install python3-imaging
硬件连接
2inch LCD | RPi引脚号 | BCM |
VCC | 5V | 5V |
GND | GND | GND |
DIN | 19 | MOSI |
CLK | 23 | SCLK |
CS | 24 | CE0 |
DC | 22 | P25 |
RST | 13 | P27 |
BL | 12 | P18 |
下载例程
在树莓派终端运行:
sudo apt-get install p7zip-full wget http://wiki.diustou.com/w/upload/1/19/2inch_LCD_Module_code.7z 7z x 2inch_LCD_Module_code.7z sudo chmod 777 -R 2inch_LCD_Module_code cd 2inch_LCD_Module_code/2inch_LCD_Module_code/RaspberryPi\&JetsonNano/
运行测试程序
- C语言
cd c make clean make sudo ./main
- python
cd python/examples sudo python main.py
预期效果
- 屏幕全部刷白
- 显示数字、英文和中文
- 画矩形框
- 画直线(对角线)
- 画5个空心圆
- 显示一张100X100的logo
- 显示一张240X320全屏图片
STM32
- 在产品百科界面下载程序,然后解压。STM32程序位于 ~/ STM32/…
- 打开STM32中的\XNUCLEO-F103RB\MDK-ARM\Demo.uvprojx,使用Keil uVision5打开。例程使用的是HAL库。测试使用的开发板为微雪XNUCLEO-F103RB,芯片为STM32F103RBT6,如需换芯片或者想使用标准库你只需要更改DEV_Config.c和.h即可,实现里面的函数和宏定义即可。换芯片也可以使用STM32CubeMX。
- 本例程使用的开发板为XNUCLEO-F103RB,程序是基于HAL库
硬件连接
2inch LCD | XNUCLEO-F103RB |
VCC | 5V |
GND | GND |
DIN | PA7 |
CLK | PA5 |
CS | PB6 |
DC | PA8 |
RST | PA9 |
BL | PC7 |
预期效果
- 屏幕全部刷白
- 显示数字和英文
- 显示中文
- 画矩形框
- 画直线(对角线)
- 画5个空心圆
- 显示一张70X70的logo
Arduino
- 在产品百科界面下载程序,然后解压。Arduino程序位于 ~/Arduino UNO/…
- 把Arduino目录下的文件夹复制到Arduino安装目录的libraries下,一般是C:\Program Files (x86)\Arduino\libraries或者C:\Users\用户名\Documents\Arduino\libraries
- 打开Arduino IDE: 点击 File-> Example,查看是否有LCD_2inch选项,若有说明库导入成功,打开LCD_2inch
- 本例程使用的开发板为Arduino UNO
硬件连接
2inch LCD | UNO PLUS |
VCC | 5V |
GND | GND |
DIN | D11 |
CLK | D13 |
CS | D10 |
DC | D7 |
RST | D8 |
BL | D9 |
预期效果
- 屏幕全部刷白
- 显示数字和英文
- 显示中文
- 画矩形框
- 画直线(对角线)
- 画5个空心圆
- 显示一张70X70的logo
选型列表
型号 | 分辨率 | 显示接口 | 面板材质 | 触摸类型 | 触摸接口 | 扬声器 | 音频输出 |
---|---|---|---|---|---|---|---|
0.96inch LCD Module | 80x160 | SPI | TFT | - | - | - | - |
1.3inch LCD HAT | 240x240 | SPI | IPS | - | - | - | - |
1.3inch LCD Module | 240x240 | SPI | TFT | - | - | - | - |
1.3inch OLED (B) | 128x64 | I2C/SPI | OLED(蓝色) | - | - | - | - |
1.44inch LCD HAT | 128x128 | SPI | TFT | - | - | - | - |
1.5inch RGB OLED Module | 128x128 | SPI | OLED(65K彩色) | - | - | - | - |
1.8inch LCD Module | 160x128 | SPI | TFT | - | - | - | - |
2.23inch OLED HAT | 128x32 | I2C/SPI | OLED(白色) | - | - | - | - |
2inch LCD Module | 320x240 | SPI | TFT | - | - | - | - |
3.5HD480320SR TFT LCD | 480x320 | HDMI | TFT | 电阻式 | SPI | - | 有 |
3.5HS480320SR TFT LCD | 480x320 | SPI (高速) | TFT | 电阻式 | SPI | - | - |
3.5inch HDMI LCD | 480x320 | HDMI | IPS | 电阻式 | SPI | - | 有 |
3.5inch RPi LCD (A) | 480x320 | SPI | TFT | 电阻式 | SPI | - | - |
4.3inch DSI LCD | 800x480 | DSI | IPS | 电容式 | I2C | - | - |
4HD480800SR IPS LCD | 800x480 | HDMI | IPS | 电阻式 | SPI | - | 有 |
4inch HDMI LCD | 800x480 | HDMI | IPS | 电阻式 | SPI | - | - |
4inch Resistive Touch LCD | 800x480 | 8080 | IPS | 电阻式 | SPI | - | - |
5HD800480SR TFT LCD | 800x480 | HDMI | TFT | 电阻式 | SPI | - | - |
5HD800480UC TFT LCD | 800x480 | HDMI | TFT | 电阻式 | USB | - | 有 |
5inch HDMI LCD | 800x480 | HDMI | TFT | 电阻式 | SPI | - | - |
7HD1024600UC IPS LCD | 1024x600 | HDMI | IPS | 电容式 | USB | - | - |
7HD1024600UCC IPS LCD | 1024x600 | HDMI | IPS | 电容式 | USB | 有 | 有 |
7HD800480UC TFT LCD | 800x480 | HDMI | TFT | 电容式 | USB | - | - |
7inch HDMI LCD (H) | 1024x600 | HDMI | IPS | 电容式 | USB | - | 有 |
Display (1024×600, 7inch, IPS, HD, C) | 1024x600 | HDMI | IPS | 电容式 | USB | - | - |
Display (1024×600, 10.1inch, IPS, HD, C) | 1024x600 | HDMI | IPS | 电容式 | USB | - | - |
Display (800×480, 5inch, TN, HD, C) | 800×480 | HDMI | TN | 电容式 | USB | - | - |
FAQ
|
|
|
|
|
|
|
|