匿名
未登录
登录
丢石头百科
搜索
查看“2inch LCD Module”的源代码
来自丢石头百科
名字空间
页面
讨论
更多
更多
页面选项
查看
查看源代码
历史
←
2inch LCD Module
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
<div class="tabber"> {{Product |images=[[File:2inch-LCD-Module-6.jpg|360px |alt=2inch-LCD-Module | 2inch LCD Module]] |categories= {{Category|LCD}} {{Category|显示屏}} |brand=Waveshare |features= * 显示尺寸:2英寸 * 分辨率:240×320 |interfaces={{Category|SPI接口}} |related= * [[1.8inch LCD Module]] * [[0.96inch LCD Module]] * [[1.3inch LCD Module]] }} <div class="tabbertab" title="说明"> ==产品简介== 本产品是 2寸IPS显示屏模块,分辨率为 240*320,使用 SPI 接口通信,LCD 带有内部控制器,已封装好基本函数,可以实现图片旋转、画点、线、圆、矩形,显示英文字符和中文字符,显示图片。<br /> 提供完善的配套树莓派例程(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) ==功能引脚== {|border=1; |-style="background:#0000ff; color:white;" align="center" |功能引脚||描述 |-align="center" |VCC||3.3V/5V电源正 |-align="center" |GND||电源地 |-align="center" |DIN||SPI数据输入 |-align="center" |CLK||SPI时钟输入 |-align="center" |CS||片选,低电平有效 |-align="center" |DC||数据/命令选择 |-align="center" |RST||复位 |-align="center" |BL||背光 |} ==硬件说明== ===LCD 及其控制器=== 该LCD支持12位,16位以及18位每像素的输入颜色格式,即RGB444,RGB565,RGB666三种颜色格式,本例程使用RGB565的颜色格式,这也是常用的RGB格式。<br /> 对于大部分的LCD控制器而言,都可以配置控制器的通信方式,通常都有8080并行接口、三线SPI、四线SPI等通信方式。此LCD使用四线SPI通信接口,这样可以大大的节省GPIO口,同时通信速度也会比较快。<br /> ===通信协议=== [[file:0.96inch_lcd_module_spi.png|900px]]<br /> 从上的得知使用的是4线SPI通信,查阅数据手册可以得到如下的通信时序图,以传输RGB556为例:<br /> 注:与传统的SPI协议不同的地方是:由于是只需要显示,故而将从机发往主机的数据线进行了隐藏。<br /> RESX为复位,模块上电时拉低,通常情况下置1;<br /> CSX为从机片选, 仅当CS为低电平时,芯片才会被使能。<br /> D/CX为芯片的数据/命令控制引脚,当DC = 0时写命令,当DC = 1时写数据<br /> SDA为传输的数据,即RGB数据;<br /> SCL为SPI通信时钟。<br /> 对于SPI通信而言,数据是有传输时序的,即时钟相位(CPHA)与时钟极性(CPOL)的组合:<br /> CPHA的高低决定串行同步时钟是在第一时钟跳变沿还是第二个时钟跳变沿数据被采集,当CPHL = 0,在第一个跳变沿进行数据采集;<br /> CPOL的高低决定串行同步时钟的空闲状态电平,CPOL = 0,为低电平。<br /> 从图中可以看出,当SCLK第一个下降沿时开始传输数据,一个时钟周期传输8bit数据,使用SPI0,按位传输,高位在前,低位在后。<br /> ==树莓派== 提供C语言与python例程 {{RPI_open_spi}} ===安装库=== {{RPI_C_lib}} *安装python2库 <pre> 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 </pre> *安装python3库 <pre> 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 </pre> ===硬件连接=== [[file:2inch-LCD-Module-3.jpg|900px]]<br /> {|border=1; style="width:400px;" align="center" |-style="background:#0000ff; color:white;" align="center" |2inch LCD||RPi引脚号||BCM |-align="center" |VCC||5V||5V |-align="center" |GND||GND||GND |-align="center" |DIN||19||MOSI |-align="center" |CLK||23||SCLK |-align="center" |CS||24||CE0 |-align="center" |DC||22||P25 |-align="center" |RST||13||P27 |-align="center" |BL||12||P18 |} ===下载例程=== 在树莓派终端运行:<br /> <pre> 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/ </pre> <!--当然也可以下在我们Github上面的工程:<br /> <pre> sudo git clone xxxxxxxxxxxxx替换成github程序链接 sudo git clone https://github.com/waveshare/替换成wiki程序链接 cd 替换成下载的文件解压的目录 </pre> --> ===运行测试程序=== *C语言 <pre> cd c make clean make sudo ./main </pre> *python <pre> cd python/examples sudo python main.py </pre> ===预期效果=== #屏幕全部刷白 #显示数字、英文和中文 #画矩形框 #画直线(对角线) #画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库 ===硬件连接=== {|border=1; style="width:400px;" align="center" |-style="background:#0000ff; color:white;" align="center" |2inch LCD||XNUCLEO-F103RB |-align="center" |VCC||5V |-align="center" |GND||GND |-align="center" |DIN||PA7 |-align="center" |CLK||PA5 |-align="center" |CS||PB6 |-align="center" |DC||PA8 |-align="center" |RST||PA9 |-align="center" |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]] ===硬件连接=== {|border=1; style="width:400px;" align="center" |-style="background:#0000ff; color:white;" align="center" |2inch LCD||UNO PLUS |-align="center" |VCC||5V |-align="center" |GND||GND |-align="center" |DIN||D11 |-align="center" |CLK||D13 |-align="center" |CS||D10 |-align="center" |DC||D7 |-align="center" |RST||D8 |-align="center" |BL||D9 |} ===预期效果=== #屏幕全部刷白 #显示数字和英文 #显示中文 #画矩形框 #画直线(对角线) #画5个空心圆 #显示一张70X70的logo </div> <div class="tabbertab" title="资料"> ===文档=== *[https://{{SERVERNAME}}/w/upload/0/0c/1.3inch_LCD_Module_Schematic.pdf 原理图]<br> ===程序=== *[https://{{SERVERNAME}}/w/upload/1/19/2inch_LCD_Module_code.7z 示例程序]<br> ===软件=== {{OLED_Software}} ===数据手册=== *[https://{{SERVERNAME}}/w/upload/a/ad/ST7789VW.pdf ST7789VW 手册] 转到:[[#软件]],[[#程序]],[[#文档]] <!--{{Join_us}}--> </div> == 选型列表 == {{LCD Selection Guide}} == FAQ == <div class="tabbertab" title="FAQ"> {{FAQ|使用树莓派控制,LCD黑屏?| a) 检查打开了SPI;<br /> b) 检查背光引脚是否有输出,无输出可尝试悬空BL控制线;|||}} {{FAQ|不正确的使用树莓派控制可能会导致?| 如果运行wiringPi例程正常,再运行python或者BCM2835可能会屏幕无法正常刷新,因为bcm2835库是树莓派cpu芯片的库函数,底层是直接操作寄存器,而wiringPi库和python的底层都是通过读写linux系统的设备文件操作设备,可能导致GPIO口异常,重启树莓派可完美解决。|||}} {{FAQ|如何翻转图像?| C语言控制可以使用函数Paint_SetRotate(Rotate);当时在C语言中翻转的角度只能为0、90、180、270度;Python可以调用rotate(Rotate)来翻转任意角度。|||}} {{FAQ|Python Image库| 对于有些树莓派系统可能并没有 image 这个库,运行:sudo apt-get install python-imaging 安装 python-imaging 库 |||}} </div> <div class="tabbertab" title="售后"><br />{{Service08}}</div>
该页面使用的模板:
模板:Category
(
查看源代码
)
模板:FAQ
(
查看源代码
)
模板:LCD Selection Guide
(
查看源代码
)
模板:OLED Software
(
查看源代码
)
模板:Product
(
查看源代码
)
模板:RPI C lib
(
查看源代码
)
模板:RPI open spi
(
查看源代码
)
模板:Service00
(
查看源代码
)
模板:Service08
(
查看源代码
)
模板:Tag
(
查看源代码
)
模板:Tipbox
(
查看源代码
)
返回至
2inch LCD Module
。
导航
导航
首页
最近更改
随机页面
MediaWiki帮助
首页
首页
树莓派
主机
配件包
外壳
键鼠
电源
扩展板
显示屏
墨水屏
摄像模块
通信模块
继电器
电机驱动板
游戏机
产品分类
树莓派
Arduino
micro:bit
STM32
Espressif
WiFi模块
蓝牙模块
无线模块
LoRa模块
4G模块
GSM
GPRS
以太网
导航模块
北斗卫星
GPS
LCD
墨水屏
OLED
摄像头
USB模块
串口模块
RS232
RS485
CAN
传感器
温度模块
湿度模块
气压模块
继电器
电机模块
指纹模块
电平转换
音频模块
编程器
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志