2.8英寸TFT触摸屏的使用教程

概述
=“ i class =” fa fa-exclamation-circle“》 本教程适用于原始的2.8” tft突破,有关此产品的最新版本,请访问https://learn.adafruit.com/adafruit-2-dot-8-color-tft-touchscreen-breakout-v2,以获取更新的教程,但仍保留此教程作为历史参考
通过彩色触摸屏lcd向您的项目中添加爵士乐和爵士乐。此tft显示屏大(对角线为2.8英寸)明亮(4个白光led背光)和彩色(16位262,000种不同的阴影)! 240x320像素具有单独的像素控制,比黑白128x64显示器具有更高的分辨率。作为奖励,此显示器已经连接了电阻式触摸屏,因此您可以检测屏幕上任何地方的手指按下情况。
此显示器内置有带ram缓冲的控制器,因此微控制器几乎不做任何工作。您需要8条数字数据线和4或5条数字控制线来读取和写入显示器(总共12条线)。触摸屏需要4针(2个数字,2个模拟),但是由于电阻式触摸屏的工作方式,我们可以与lcd共享引脚,因此整个设置可以由12个针(10个数字,2个模拟)运行。
当然,我们不会只留下数据表和“好运!” -我们已经编写了一个完整的开源图形库,可以绘制像素,线条,矩形,圆形和文本。我们还有一个触摸屏库,可检测x,y和z(压力),并提供示例代码来演示所有内容。该代码是为arduino编写的,但可以轻松移植到您最喜欢的微控制器!
今天在adafruit商店取一件!
规格:
2.8英寸对角线lcd tft显示屏
240x320分辨率,16位(262,000)彩色
ili9325(数据表)或带有内置视频ram缓冲区的ili9328(数据表)控制器
8位数字接口,以及4或5条控制线
5v兼容!与3.3v或5v一起使用逻辑
板载3.3v @ 150ma ldo稳压器
4个白色led背光灯,已连接晶体管,因此您可以pwm调暗背光灯
1x20接头连接器,以便轻松进行电路板设计,或者2x10排针,用于电缆连接
4 x 0.125“/3mm安装孔,带有卡舌
4线电阻触摸屏
本指南专门针对tft lcd 分支板 。有 此显示屏的arduino屏蔽版本的单独教程 。
连接选项
本教程适用于原始的2.8“ tft突破,我们现在可以在https://learn.adafruit.com/adafruit-2-dot-8-color-tft-touchscreen-breakout-v2上获得有关该产品的最新版本的更新指南,但仍保留此指南作为历史参考
tft lcd需要使用很多引脚才能与您的处理器配合使用。我们提供两个分接头,您可以根据自己的应用使用。
第一个(右侧)是间距为0.1“的单个1x20标头条。非常适合面包板使用或需要手工接线的情况。您可以使用“直”插头或“直角”插头,使其直立(尽管如果用这种方式焊接可能会更难触摸)。
要焊接插头,我们建议将20pin的排针长条插在面包板上。
将lcd放在顶部并焊接每个引脚。
第二个是间距为0.1英寸的2x10双接头带。这非常适合用于idc电缆进行远程访问。我们建议使用6英寸电缆,但您也许可以使用12英寸的显示器,这取决于您在屏幕上写入的速度(速度越快,意味着需要的电缆越短)。
这根电缆是2x5而不是2x10,但是较大的电缆看起来像
您可以以2美元的价格从digikey那里购买插座电缆-也可以从任何其他电子产品商店购买。
安装选项
本教程适用于原始的2.8“ tft突破,现在可以在https://learn.adafruit.com/adafruit-2-dot-8-color-tft-touchscreen-breakout-v2上获得有关该产品的最新版本的更新指南,但仍保留此指南作为历史参考
我们希望确保您可以轻松地将此显示器放在一个盒子中。在选项卡上有四个安装孔。如果您真的不需要可以用钢锯或锡片剪掉。这些孔在短方向上相距2.25英寸,在长方向上相距2.95英寸。钻孔为0.125英寸,很容易采用#4英制或m3( 3mm)螺丝。 pcb的厚度为0.063英寸。
背光布线
本教程适用于原始的2.8“ tft突破,现在可以在https://learn.adafruit.com/adafruit-2-dot-8-color-tft-touchscreen-breakout-v2上获得有关该产品的最新版本的更新指南,但仍保留此指南作为历史参考
lcd有三个基本的“组件”。
背光是第一个,由4个组成白色led与一个晶体管并联以控制它们。这些led最多可吸收80ma的电流,但是您可以通过pwm的背光将其调暗-晶体管可以轻松连接任何类型的微控制器输出。
我们首先假设您使用的是1x20连接器和arduino,然后再将其一直连接到3v或5v引脚。对您的微控制器而言有所不同。
首先连接第一个lcd的接地引脚接地,第二个 3-5v 引脚则为5v(您可以使用3-5v,该引脚将为tft和背光供电,因此请确保可以提供100ma)。然后跳过5个引脚,并将#8 backlite 引脚连接到5v。
启动设备,您将看到4个白色led背光。如果这不起作用,则说明您的电源设备有问题。返回并修复接线!
tft接线
本教程适用于原始的2.8“ tft接线盒,我们现在可以在https://learn.adafruit.com/adafruit-2-dot-8-color-tft-touchscreen-breakout-v2上获得有关该产品的最新版本的更新指南,但仍保留此指南作为历史参考
现在,背光灯可以正常工作了,我们可以使tft lcd正常工作了,需要很多引脚,并且为了保持代码的快速运行,我们有用于8条数据线的``硬编码‘’arduino数字引脚#2-#9。
从tft的末端(电源引脚的另一侧)开始,然后依次将引脚连接到数字7至2。如果您使用的是mega,请按此顺序将tft数据引脚#0-7连接到mega引脚#22-29。这些mega引脚位于“ double”接头上。
然后连接下两个引脚分别连接到数字9和8。
如果您使用的是mega,请按此顺序将tft数据引脚#0-7连接到mega引脚#22-29。这些mega引脚位于“双”标题上。
除了8条数据线外,您还需要4或5条控制线。
连接第三个引脚 cs (芯片选择)到模拟3
连接第四个引脚 c/d ( command/数据)到模拟2
将第五个引脚 wr (写入)连接到模拟1 span》
将第六个引脚 rd ( read )连接到模拟0
将第七个引脚 rst ( reset )连接到arduino重置线。当arduino重置时,这将重置面板。您还可以将数字引脚用于lcd复位,但这将为我们节省一个引脚。
现在我们可以运行一些代码了!
lcd测试
本教程适用于原始的2.8“ tft突破,现在可以在https://learn.adafruit.com/adafruit-2-dot-8-color-tft-touchscreen-breakout-v2上获得有关该产品的最新版本的更新指南,但仍保留此指南作为历史参考
我们已经准备好可与这些tft一起使用的示例代码,它是为arduino编写的,通过适应c ++可以移植到任何微控制器中。
两个库需要下载并安装:首先是tftlcd库(该库包含特定于该设备的低级代码),下载zip文件,解压缩并将其重命名为“ adafruit_tftlcd”,将其放置在arduino库文件夹中,然后重新启动arduino ide。如果不熟悉,我们有一个介绍arduino库概念和安装的教程。
您还需要安装gfx li喝彩您可以通过arduino库管理器执行此操作。
打开arduino库管理器:
搜索 adafruit gfx 库并安装
arduino库安装教程,位于:
http://learn.adafruit.com/adafruit-all-about-arduino-libraries-install-use
在tftlcd库文件夹中,您将需要编辑tftlcd.h。在第12行上,您会看到“#define use_adafruit_shield_pinout” 。注释掉这一行并保存文件。
重启arduino软件后,您应该在内部看到一个名为 adafruit_tftlcd 的新示例文件夹。 ,称为 graphicstest 的示例。将该草图上传到您的arduino。您可能需要按“重置”按钮来重置arduino和tft。您应该会在tft上看到一组图形测试。
现在您知道一切正常。如果遇到问题,请检查串行端口监视器。草图要做的第一件事是从tft读取驱动程序代码。它应该是 0x9328 或 0x9325 ,因此,如果看到类似 0x8328 的信息,则表示d8引脚未正确接线,并且得到 》 0x9228 ,则d0引脚未正确接线。请记住,这两个字节是一个接一个地读取的。
图形库
本教程适用于原始的2.8“ tft突破,我们现在可以在https://learn.adafruit.com/adafruit-2-dot-8-color-tft-touchscreen-breakout-v2上获得有关该产品的最新版本的更新指南,但仍保留此指南作为历史参考
图形库中有一些随时可用的功能,可以帮助您从项目开始。它并不详尽,如果有可能,我们将尝试对其进行更新。我们发现一个非常有用的功能。
首先要注意的是颜色是16位的,其中包括红色,绿色和蓝色 在一个16位变量中,颜色的填充方式是前5位是红色,中间6位是绿色,后5位是蓝色。
对于纯色,我们有这个方便的备忘单当然,您可以选择262,000种颜色中的任何一种,但在开始时可能会有所帮助ful。
下载:文件
复制代码
// color definitions
#define black 0x0000
#define blue 0x001f
#define red 0xf800
#define green 0x07e0
#define cyan 0x07ff
#define magenta 0xf81f
#define yellow 0xffe0
#define white 0xffff // color definitions
#define black 0x0000
#define blue 0x001f
#define red 0xf800
#define green 0x07e0
#define cyan 0x07ff
#define magenta 0xf81f
#define yellow 0xffe0
#define white 0xffff
adafruit gfx库是绘制所有点,线,形状和文本的库。它相当详细,有很多很酷的东西,有关大量信息,请访问http://learn.adafruit.com/adafruit-gfx-graphics-library
这里是gfx lib的基本介绍,它没有。不能涵盖所有内容,但它可以告诉您一些最流行的形状是什么样的?首先是最基本的像素推动器。您可以使用两个坐标和一个颜色来调用它,它会产生一个点:
下载:文件
复制代码
void drawpixel(uint16_t x, uint16_t y, uint16_t color); void drawpixel(uint16_t x, uint16_t y, uint16_t color);
您还可以绘制带有起点和终点以及颜色的线。
下载:文件
复制代码
void drawline(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint16_t color); void drawline(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint16_t color);
如果您的线条是垂直还是水平,您可以调用一个优化的绘图函数,该函数不会进行所有角度计算。
下载:文件
复制代码
void drawverticalline(uint16_t x0, uint16_t y0, uint16_t length, uint16_t color);
void drawhorizontalline(uint16_t x0, uint16_t y0, uint16_t length, uint16_t color); void drawverticalline(uint16_t x0, uint16_t y0, uint16_t length, uint16_t color);
void drawhorizontalline(uint16_t x0, uint16_t y0, uint16_t length, uint16_t color);
接下来,可以使用以下过程绘制和填充矩形和正方形。如果您希望矩形具有对比的轮廓颜色,请先 fillrect ,然后在其上 drawrect 。
下载:文件
复制代码
void drawrect(uint16_t x0, uint16_t y0, uint16_t w, uint16_t h, uint16_t color);
void fillrect(uint16_t x0, uint16_t y0, uint16_t w, uint16_t h, uint16_t color); void drawrect(uint16_t x0, uint16_t y0, uint16_t w, uint16_t h, uint16_t color);
void fillrect(uint16_t x0, uint16_t y0, uint16_t w, uint16_t h, uint16_t color);
同样,对于圆圈,您可以绘制和填充。
下载:文件
复制代码
void drawcircle(uint16_t x0, uint16_t y0, uint16_t r, uint16_t color);
void fillcircle(uint16_t x0, uint16_t y0, uint16_t r, uint16_t color); void drawcircle(uint16_t x0, uint16_t y0, uint16_t r, uint16_t color);
void fillcircle(uint16_t x0, uint16_t y0, uint16_t r, uint16_t color);
文本略有不同。您将设置文本大小,颜色和位置,然后 print() (就像serial.print()!)
下载:文件
复制代码
void setcursor(uint16_t x0, uint16_t y0);
void settextcolor(uint16_t color);
void settextsize(uint8_t size); void setcursor(uint16_t x0, uint16_t y0);
void settextcolor(uint16_t color);
void settextsize(uint8_t size);
首先从 setcursor(x,y)开始,这将使文本的右上角随心所欲。最初,其设置为(0,0)。然后使用 settextcolor(color)设置文本颜色,默认为白色。然后使用 settextsize(size) 设置“大小”,这会将文本“乘以”缩放比例。在上面可以看到比例为1(默认),2和3。这是因为我们只以简单的字体提供了库,以节省空间。您只需缩放它即可获取更大的文本,而无需使用新字体。
最后,您可以像使用类似一样使用 print()或 println()您可以使用序列!例如,要打印字符串,请使用 print(“ hello world”)-是上图的第一行。要打印变量,也可以使用 print(),第二行是 print(1234.56),第三行是 print(0xdeadbeef,hex) 》。
您还可以旋转图形。请注意,这不会旋转您已经绘制的内容,但是会重新放置所有新图形。
下载:文件
复制代码
void rotate(uint8_t rotation); void rotate(uint8_t rotation);
旋转变量可以为0、1、2或3。旋转0使其处于纵向模式,并且右上方的usb插孔。旋转2为纵向,usb插孔在左下方。旋转1是横向模式,usb插孔在右下方,旋转3也是横向,usb插孔在左上方。
旋转时,原点会随之移动。您可能需要参考屏幕尺寸,该尺寸在纵向和横向之间变化,请使用 width()和 height()!要获取大小。
下载:文件
复制代码
uint16_t width();
uint16_t height(); uint16_t width();
uint16_t height();
这些原语应该可以帮助您入门!
触摸屏
本教程适用于原始的2.8“ tft突破,有关此产品的最新版本,请访问https://learn.adafruit.com/adafruit-2-dot-8-color-tft-touchscreen-breakout-v2,以获取更新的教程,但仍保留此教程作为历史参考
lcd上粘贴了一个2.8英寸4线电阻触摸屏。您可以使用它来检测手指的按压,手写笔等。您需要4个图钉才能与触摸面板进行对话 ,但是您可以重复使用 一些tft lcd的引脚!这是因为面板的电阻足够高,不会干扰数字输入/输出,并且当不使用引脚时,我们可以在tft访问之间查询面板。
您可以如下连接其余4个引脚。最左边的一个( y-橙色)可以连接到数字 9 ,下一个( x-绿色)连接到模拟2 ,下一个( y + 蓝色)连接到模拟3 ,最后一个( x + 灰色)连接到数字 8 。 x-和y +引脚几乎必须连接到这些模拟引脚(或模拟4/5),但是y-/x +可以连接到任何数字或模拟引脚。
下载库
首先打开arduino库管理器
搜索 adafruit触摸屏 库并安装
我们还提供了有关arduino库安装的出色教程,网址为:
http://learn.adafruit.com/adafruit-all- about-arduino-libraries-install-use
现在在arduino库中启动 tftpaint 示例。右侧将带有“颜色框”,您可以按“颜色框”来选择要绘制的颜色。如果按屏幕结束处左侧的区域,则会擦除屏幕。
您可以用指尖绘制。
如果按屏幕结束处左的区域,则会擦除屏幕。
位图
本教程适用于原始的2.8“ tft突破,有关此产品的最新版本,请访问https://learn.adafruit.com/adafruit-2-dot-8-color-tft-touchscreen-breakout-v2,以获取更新的教程,但仍保留此教程作为历史参考
我们在库中有一个示例草图,显示了如何显示存储在sd卡上的全彩色位图图像,您将需要一个sd或microsd分支板
现代版本的arduino软件(0023或1.0或更高版本)已包含sd卡库。如果您使用的是旧版arduino ide,则可以下载我们的库单击下载zip 按钮,解压缩档案并将结果文件夹重命名为“ sd ”。将该文件夹移至arduino库文件夹(通常为[home]/documents/arduino/libraries),然后重新启动ide。
wire像以前一样打开tft(请参见上一页),然后连接microsd卡的接线。
在uno/duemilanove上,您将需要使用以下连接:将sd卡与 di 连接》固定 11 , do 固定 12 和 sck 固定 13 (这是我们所有防护罩的标准配置),然后将 10 引脚转到 cs 。对于mega,检查spi连接转到mega的spi引脚(不是10-13)。
将 woof.bmp 和 miniwoof.bmp 文件复制到microsd卡并将其插入分组讨论中。在tftlcd库中运行 tftbmp 示例草图,您应该看到显示的图像。如果不是,请检查串行监视器以获取有关为什么它可能无法工作的提示。
下载
本教程适用于原始的2.8“ tft突破,有关此产品的最新版本,请访问https://learn.adafruit.com/adafruit-2-dot-8-color-tft-touchscreen-breakout-v2,以获取更新的教程,但仍保留此教程作为历史参考
触摸屏库
tft lcd库
gfx库
sd卡库(如果运行最新的arduino ide,则不需要!!)


链云宝:四大智慧场景服务综合平台
人脸识别技术发展迅速,导致出现滥用现象
百万高清摄像机的清晰度与哪些器件参数有关
一种基于Zigbee的路灯控制系统实现方案
智能照明控制系统的设计原则
2.8英寸TFT触摸屏的使用教程
顾杰斌团队研发的MEMS-Casting™技术实现了MEMS和铸造的完美结合
长途驾驶高速油耗 马自达CX-5长测
中国广电启动5G首测基站部署,5G高清视频成广电发力重要方向
英飞凌车门模块的驱动策略
中国台湾工业技术研究院选择CEVA-XC DSP 开发 4G 小型蜂窝基站
非易失Y2K兼容时钟RAM DS1557
TD-SCDMA可实现对无线频谱的高效利用
评书机拆解:被315曝光的“推销”神器,硬件成本低得惊人!
环境光传感芯片(ALS)背光控制系统
英特尔以领先技术和生态加速FPGA发展
如何使用即插即用的数字D类放大器轻松实现出色的音频性能
浅谈能耗管理系统在通信机房的应用
ADI推新款频率合成器ADF4371 支持各种射频/微波系统设计
5G领域华为在算计什么?华为重申不会出售自研芯片