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

    文章

    2301

    浏览量

    116119
  • TFT
    TFT
    +关注

    关注

    10

    文章

    385

    浏览量

    111062
收藏 人收藏

    评论

    相关推荐

    国产工业级Model3芯片应用于医疗床头7触摸屏,为医疗注入智慧力量

    智慧元素,让患者享受智能服务,启明智显提出了将国产工业级HMI芯片Model3应用于医疗床头的HMI方案,7TFT触摸屏替代了传统纸质床头卡,与医院HIS、LI
    的头像 发表于 07-24 08:37 1675次阅读
    国产工业级Model3芯片应用于医疗床头7<b class='flag-5'>寸</b><b class='flag-5'>触摸屏</b>,为医疗注入智慧力量

    电容触摸屏的区别

    电容触摸屏是两个在电子设备中广泛使用的技术,它们之间存在紧密的联系但也有显著的区别。
    的头像 发表于 07-18 15:58 4903次阅读

    LCD触摸屏的PCB设计

    液晶显示(LCD)和触摸屏技术已经成为各种电子设备的核心组成部分,从智能手机到电视和医疗设备。在这些设备中,PCB的设计对于LCD和触摸屏的性能和可靠性至关重要。下面将讨论LCD
    的头像 发表于 07-18 11:17 2061次阅读
    LCD<b class='flag-5'>屏</b>和<b class='flag-5'>触摸屏</b>的PCB设计

    乐鑫HMI方案2.8触摸串口应用于手持遥控器

    电视上这些APP程序却需要遥控器上下左右按键费力的调整光标,缓慢、耗时、不精确的重复操作。因此,遥控器需要实现技术突破,打破智能产品交互难的瓶颈。基于此,启明智显提出将乐鑫HMI方案的2.8触摸串口
    的头像 发表于 07-04 17:08 581次阅读
    乐鑫HMI方案<b class='flag-5'>2.8</b><b class='flag-5'>寸</b><b class='flag-5'>触摸</b>串口<b class='flag-5'>屏</b>应用于手持遥控器

    启明智显Model3A芯片方案7高清触摸屏:开箱、设置与实操全攻略指南

    一、背景本指南将详细介绍启明智显的Model3A芯片方案下的7高清触摸屏ZX7D00CM21S的开箱步骤、基础设置以及实操应用。无论您是电子爱好者、开发者还是工程师,这份指南都能助您快速上手并
    的头像 发表于 07-01 16:09 1064次阅读
    启明智显Model3A芯片方案7<b class='flag-5'>寸</b>高清<b class='flag-5'>触摸屏</b>:开箱、设置与实操全攻略指南

    触摸屏和plc的程序怎么编写

    编写触摸屏和PLC程序是一个复杂的过程,涉及到多个方面的知识。 一、触摸屏和PLC概述 触摸屏概述 触摸屏是一种交互式输入设备,用户可以通过触摸屏
    的头像 发表于 07-01 14:46 2412次阅读

    人机界面触摸屏如何触摸校正屏幕

    人机界面(Human-Machine Interface,简称HMI)触摸屏是一种广泛应用于工业自动化、智能家居、医疗设备等领域的交互设备。触摸屏的校正对于确保设备的正常运行和提高用户体验至关重要
    的头像 发表于 07-01 14:36 1623次阅读

    vivo Pad3正式发布,采用天马12.1英寸2.8K护眼原色

    6月28日,vivo Pad3正式发布。其采用天马12.1英寸2.8K、7:5超感原色LTPS,分辨率为2800x1968,284PPI,峰值亮度可达600nit,支持144Hz电竞级高刷,支持10.7亿色真彩显示、HDR10
    的头像 发表于 06-29 10:48 1636次阅读

    如何快速实施可靠的触摸屏

    作者:Steven Keeping 与键盘和鼠标相比,人们越来越倾向于使用触摸屏作为人机界面 (HMI),对消费者、企业和工业系统进行编程、配置和控制。触摸屏更直观、速度快,采用单一的集成接口,可取
    的头像 发表于 05-05 16:26 704次阅读
    如何快速实施可靠的<b class='flag-5'>触摸屏</b>

    组态软件和触摸屏软件的区别是什么?

    组态软件和触摸屏软件有以下不同点: 1. 功能不同:组态软件是用于在PC上创建HMI(人机界面);而触摸屏软件用于在触摸屏上运行的HMI应用程序中对控制系统进行操作。 2. 用户界面不同:组态软件
    的头像 发表于 04-24 14:04 1167次阅读

    2.4TFT液晶具有以下技术优势和未来展望

    2.4TFT液晶是指一种尺寸为2.4英寸的薄膜晶体管液晶显示。它采用薄膜晶体管技术和透明液晶材料,结合背光源,能够显示出高清、鲜艳的图
    的头像 发表于 03-14 09:20 1028次阅读

    手机触摸屏失灵的原因及解决方法 手机触摸屏失灵怎么关机

    手机触摸屏失灵的原因及解决方法: 一、原因: 软件问题:当手机运行过程中出现一些错误或者存储空间不足时,可能会导致触摸屏失灵。此时,重启或者进行软件更新可能会解决问题。 硬件问题:如果手机摔落、遭受
    的头像 发表于 01-24 17:48 2.1w次阅读

    电容触摸屏的分辨率怎么调

    电容触摸屏的分辨率调整是通过调整触摸屏的控制器的参数来实现的。触摸屏的分辨率是指能够在屏幕上识别的最小触摸点的像素数量。分辨率越高,触摸屏
    的头像 发表于 01-23 16:59 1934次阅读

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

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

    全球首款88英寸P0.5前维护TFT基Micro-LED拼接成功点亮

    成都辰显光电有限公司在2024年1月16日宣布,成功点亮了全球首款88英寸P0.5 前维护TFT基Micro-LED拼接
    的头像 发表于 01-22 11:30 908次阅读