0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

454398 来源:网络整理 作者:网络整理 2019-11-29 17:40 次阅读

概述

=“ i class =” fa fa-exclamation-circle“》 本教程适用于原始的2.8” TFT突破,有关此产品最新版本,请访问https://learn.adafruit.com/adafruit-2-dot-8-color-tft-touchscreen-breakout-v2,以获取更新的教程,但仍保留此教程作为历史参考

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

通过彩色触摸屏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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 触摸屏
    +关注

    关注

    42

    文章

    2108

    浏览量

    113251
  • TFT
    TFT
    +关注

    关注

    10

    文章

    373

    浏览量

    109610
收藏 人收藏

    评论

    相关推荐

    电容触摸屏原理 电容触摸屏和电阻触摸屏有什么区别

    电容触摸屏和电阻触摸屏是两种常见的触摸屏技术,它们在原理、结构和应用方面都有很大的区别。下面将详细介绍电容触摸屏的原理、结构和特点,并与电阻触摸屏
    的头像 发表于 01-22 16:13 615次阅读

    Arduino使用tft触摸屏的转换座如何DIY?

    Arduino使用tft触摸屏的转换座如何DIY 手头一个ili9341的tft屏幕使用16位8080并口 如何连接到ArduinO
    发表于 11-10 06:26

    触摸屏漏电乱点怎么处理 触摸屏时好时坏的原因

    触摸屏时好时坏可能存在以下一些常见原因:   1. 软件问题:触摸屏问题有时可能是由于设备上的软件问题引起的,例如操作系统的故障、驱动程序的失效或冲突等。这些问题可能导致触摸屏的响应出现
    发表于 09-14 15:33 1343次阅读

    触摸屏物体识别技术有哪些 触摸屏怎么区分电容屏和电阻屏

    电容式触摸屏通过感应电场变化来识别和跟踪触摸物体。常见的电容式触摸屏包括表面电容式触摸屏和投影电容式触摸屏
    发表于 09-06 15:41 1199次阅读

    如何效正触摸屏时钟#硬声创作季

    触摸屏
    或许
    发布于 :2023年06月28日 07:50:34

    触摸屏的四大功能#硬声创作季

    触摸屏
    或许
    发布于 :2023年06月27日 18:14:17

    触摸屏与两台温湿度仪表通讯#硬声创作季

    触摸屏
    或许
    发布于 :2023年06月27日 18:12:32

    三步下载触摸屏程序的方法#硬声创作季

    触摸屏
    也许吧
    发布于 :2023年06月07日 15:57:47

    TFT-LCD电容触摸屏模块(RGB接口)驱动时序设计

    上两篇已经总结和分享了RGB接口TFT-LCD触摸屏的相关内容。本篇使用Verilog语言实现RGB的驱动时序。
    的头像 发表于 05-25 12:47 2262次阅读
    <b class='flag-5'>TFT</b>-LCD电容<b class='flag-5'>触摸屏</b>模块(RGB接口)驱动时序设计

    TFT-LCD电容触摸屏模块(RGB接口)时序描述

    上篇推文主要是介绍TFT-LCD触摸屏模块(RGB接口)的组成以及相关接口的描述,本篇开始对RGB接口的相关内容进行总结和分享。
    的头像 发表于 05-25 12:47 8619次阅读
    <b class='flag-5'>TFT</b>-LCD电容<b class='flag-5'>触摸屏</b>模块(RGB接口)时序描述

    使用TFT触摸屏最佳做法

    TFT LCD 触摸显示器在从消费类电子产品到工业和医疗设备的各种设备中日渐普及。
    发表于 05-22 11:34 687次阅读
    使用<b class='flag-5'>TFT</b><b class='flag-5'>触摸屏</b>最佳做法