电子说
概述
=“ 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,则不需要!!)
责任编辑:wv
全部0条评论
快来发表一下你的评论吧 !