×

2.4 TFT LCD触控显示器路试

消耗积分:0 | 格式:zip | 大小:1.25 MB | 2023-06-29

凤毛麟角

分享资料个

描述

 

介绍

有很多关于 2.4 英寸 TFT LCD 显示器的 Arduino 扩展板的教程。在这次路试中,我应用了不同的教程来检查这个特定屏蔽的性能和问题:AZ-Delivery 2.4 英寸 TFT LCD 显示屏,带有电阻式 4 线触摸屏和集成的 SD 卡读卡器。 AZ-Delivery 2.4 英寸 TFT LCD 显示屏

什么是TFT液晶显示器?

TFT LCD 是使用薄膜晶体管 (TFT) 技术的液晶显示器 (LCD) 的一种变体。这提高了图像质量、更好的对比度和可寻址性。

这个显示器适合 Arduino UNO 吗?

取决于你的项目的需要。Arduino UNO 处理器频率低。借助 Arduino UNO 全彩 TFT LCD,适用于显示简单的数据和命令。使用的 TFT 控制器无法切换​​内部显示 RAM,因此您不能将双缓冲技术用于动画,但仍然只能重新绘制屏幕的一小部分。

鉴于 Arduino UNO 的局限性,显示器越大,性能越差。该显示器的尺寸足以满足 Arduino UNO 的像素数、显示区域和功能之间的折衷。

该模块消耗了 Arduino UNO 中可用的大部分资源。这不是模块本身的限制。作为回报,使用并行接口可以让您快速更新图像。如果您想利用其所有功能(LCD + 触摸屏 + SD 卡),则只有引脚 0 和 1(分别为 RX 和 TX)和引脚 19 (A5) 未使用。如果不使用 SD 卡,则可额外使用针脚 10、11、12 和 13。通过合适的布局,即使使用 SD 卡也可以连接一些 SPI 设备。

以低廉的价格学习和开始使用 Arduino UNO 和 TFT LCD 显示器是一个非常好的选择。

arduino 的一些替代显示选项是 16×2 LCD、NOKIA 5510、OLED 显示器、ST7920 GLCD、七段显示器。

盒子里装了什么?

模块到货时包装完好,状况良好。该板装在一个密封的抗静电袋中,带有保护泡沫以防止端子弯曲,所有这些都用气泡袋包裹在一个单独的纸板箱内。防静电袋上的标签表明控制器是 ILI9341。

 
 
 
poYBAGN3KhOAHJ26AAn2fzjnWZk179.jpg
 
1 / 5
 

它看起来怎么样?

建造质量非常好。插头引脚已经焊接。接触区域和引线完全覆盖。通孔引线被填充,焊点呈轻微的金字塔形状。表面贴装焊点完全覆盖接触焊盘并围绕引线。引线没有松动或摆动。焊料不会溢出或桥接到其他接触点/焊盘上。通孔焊点有光泽。

任何部件都没有维修的迹象。

屏幕和触控膜完美粘合。电阻式触摸屏似乎不会明显影响光学特性。

PCB丝印标明了每个引脚的主要功能,标签很容易阅读,虽然它没有显示触摸屏引脚的标签:

  • 引脚 9 - 触摸 X+ / LCD_D1
  • 针脚 17 (A3) - 触控 X- / LCD_CS
  • 引脚 8 - 触摸 Y- / LCD_D0
  • 引脚 16 (A2) - 触摸 Y+ / LCD_RS

SD 读卡器很好地位于 USB 连接器和电源连接器之间,它不会像在其他 lcd tft 屏蔽模块中那样接触它们中的任何一个,并且可以轻松插入和移除 SD 卡。

它的正面有一个非常有用的 K1 按钮,可让您重置 Arduino。

该模块非常适合 UNO 板上。安装后,USB 连接器和 LCD 模块 PCB 之间的间隙很小。

随附的手写笔有点薄,但可以完美地完成工作。

将屏蔽连接到 Arduino

您可以直接将盾牌与任何 arduino uno 一起使用。在这种情况下,我们使用的是 Arduino UNO,它暴露了接头和板上的所有引脚。这样您就不需要另一个屏蔽来访问屏幕未使用的引脚

poYBAGN3KjyACSFyAAsip4Urp_Q346.jpg
ATmega328
 

板上的所有插头引脚都可以使用,以便能够使用它们

pYYBAGN3KkOATPgxAAmwZN5LviQ919.jpg
 

要连接屏蔽,只需安装三明治,只有一个有效位置。

SD 读卡器完全可访问,无需接触 USB 或电源连接器

poYBAGN3KkmAGcAIAAyalx1qN-A279.jpg
 

可以用了!

pYYBAGN3KmSACm0pAAfKTidvhnI174.jpg
 

您可以使用任何 Arduino 板。但是在安装时使用这个访问引脚更加困难。

pYYBAGN3KoOAAhBHAAlkuRv36wI815.jpg
Arduino UNO & TFT 模块
 

它可以做什么?

  • 与 Arduino 兼容。工作模式:8 位并行模式。
  • ILI9341 可以通过少量引脚控制每个像素。屏蔽将 ILI9341 的数据引脚 0-7 连接到 Arduino 数字引脚 2-8(允许并行通信,而不是 SPI)。ILI 的 RESET 将引脚连接到 Arduino 模拟引脚 A4.CS(芯片选择)到 A3。RS(CD 命令/数据)到 A2。WR 和 RD 到 A1 和 A0。

SD 读卡器

  • 集成 SD 卡读卡器。SD 卡选项允许存储大量图形数据。

复位按钮

  • 标记为 K1 的白色小按钮允许重置 Arduino 和屏蔽模块。

触摸屏

包括一个电阻式 4 线触摸屏(触摸板)。触摸屏附在显示器的表面上。触摸屏需要两个模拟输入和两个数字输出。它通过 4 根线连接,这些线与 ILI9341 驱动程序共享 arduino 引脚 8、9、A2、A3。因此,您不能同时写入 LCD 显示屏和读取触摸屏。一、驱动芯片为XPT2046。

它的表现如何?

 
 
 
pYYBAGN3KpSACLOUAAWZVAgecGU247.jpg
 
1 / 4
 
  • 该模块运行良好,我已经使用 Arduino UNO R3 兼容板和 Arduino IDE 1.8.13 对其进行了测试。
  • 该模块非常适合 UNO 板上。以屏蔽格式连接模块使得访问未使用的引脚变得困难。
  • 背光提供了均匀的背景,足够亮,可以在相当高的环境照明条件下使用。所有颜色和形状都是“锋利的”。
  • 光学特性好,色域广,清晰度好。视角相当宽,没有颜色反转或其他缺陷。画面很亮眼。颜色足够明亮,即使在白天也能很好地阅读屏幕。
  • 得益于 8 位并行连接,图像传输速度快,仅受 Arduino UNO 性能限制。
  • 电阻式触摸屏似乎不会明显影响光学特性。工作正常,触控笔需要一点压力才能像旧手机一样做出响应。当您用触控笔按下时,您会注意到它是如何沉入屏幕的。如果您的界面设计使用小控件,则模块随附的触控笔可以轻松使用。一些触摸屏库通过指定触摸屏在 X 方向的电阻来提供更好的精度。通过将测试引线连接到 LCD_D1 - X + 和 LCD_DS X- 端子,可以使用万用表轻松测量电阻。触摸对压力很敏感。
  • SD 读卡器运行良好。使用所使用的 IDE 版本中包含的 SD 库中可用的功能访问 SD 卡不会出现任何问题。SD 卡被识别并且可以被写入或删除。

文档

我应该使用什么库?

幸运的是,防护罩在防静电塑料袋中被很好地识别出来。

驱动器:IL9341 总线:8位

推荐的图书馆:

  • mcufriend_kbv
  • Adafruit_GFX

或者您可以使用 LCDwiki 提供的驱动程序:

库安装

安装 mcu​​friend_kbv 和 Adafruit_GFX

MCUFRIEND_kbv

poYBAGN3KpeAfQLlAAGVxcG6ka8354.png
MCUFRIEND 库
 

Adafruit_GFX

poYBAGN3KpqAKgWlAAHvu-Al2Ac056.png
Adafruit GFX 库
 

图形测试

pYYBAGN3Kp-AQfGLAAHkCxMvkp4361.png
示例 / MCUFRIEND kbv / graphicstest_kbv
 
pYYBAGN3KqGAW0oEAADvhahHIG0190.png
示例 / MCUFRIEND kbv / graphicstest_kbv
 

图形测试 1

 

图形测试 2

 

编码

MCUFriend 库的简单使用。

在一秒钟内显示红色屏幕,在一秒钟内显示蓝色屏幕。

/*
  Blink TFT

  Muestra una pantalla roja durante 1 segundo y despues una pantalla azul durante un segundo

  Conexion paralelo 8-bit con display TFT con la libreria MCUFRIEND

  This example code is in the public domain.

*/

// nucleo de la libreria grafica para displays de Adafruit
#include "Adafruit_GFX.h"
// Soporte de los controladores de display para shields Arduino MCUFRIEND
#include "MCUFRIEND_kbv.h"

#define BLUE 0x001F
#define RED  0xF800

// Pinout para ARDUINO UNO
#define CS  17 // LCD_CS A3    - Chip Select goes to Digital 17
#define RS  16 // LCD_CD A2    - Command/Data goes to Digital 16
#define WR  15 // LCD_WR A1    - LCD Write goes to Digital 15
#define RD  14 // LCD_RD A0    - LCD Read goes to Analog 18
#define RST 18 // LCD_RESET A4 - Can alternately just connect to Arduino's reset pin

// Creacion del tft display
MCUFRIEND_kbv tftDisplay(CS, RS, WR, RD, RST);

void setup() {  
  Serial.begin(9600);
  Serial.println("TFT BLINK");
  Serial.println("=========");
  // Intento de lectura del ID del display
  uint16_t ID = tftDisplay.readID();
  Serial.print("Display ID: 0x");
  Serial.println(ID, HEX);
  // Inicio del display
  tftDisplay.begin(ID);
  Serial.print("Width: ");
  Serial.println(tftDisplay.width(), DEC);
  Serial.print("Height: ");
  Serial.println(tftDisplay.height(), DEC); 
}

void loop() {  
  delay(1000);   
  tftDisplay.fillScreen(RED);
  delay(1000);   
  tftDisplay.fillScreen(BLUE);

}

使用 LCDWIKI 库的相同程序

/*
  Blink TFT

  Muestra una pantalla roja durante 1 segundo y despues una pantalla azul durante un segundo

  Conexion paralelo 8-bit con display TFT con la libreria LCDWIKI

  This example code is in the public domain.

*/
#include  //Core graphics library
#include  //Hardware-specific library

#define BLUE 0x001F
#define RED  0xF800

LCDWIKI_KBV mylcd(ILI9341,A3,A2,A1,A0,A4); //model,cs,cd,wr,rd,reset

void setup() 
{
    mylcd.Init_LCD(); //initialize lcd
}

void loop() 
{ 
    //Sequential display blue, red
    mylcd.Fill_Screen(BLUE);
    delay(1000);
    mylcd.Fill_Screen(RED);
    delay(1000);
}

应用

制作空气质量监测仪

使用的零件:

  • AZ-Delivery Arduino UNO R3
  • AZ-Delivery 2.4寸TFT液晶显示器
  • AZ-Delivery MQ-135 Arduino 气体传感器空气质量模块
pYYBAGN3KqeAFXo0AApUa04PqmA707.jpg
 

连接:

  • MQ-135 模块 AO 连接到 A5 空闲引脚
poYBAGN3Kq2AEXulAAnYYpJAG7I835.jpg
 

特征:

  • 实时可视化图形数据
  • 触摸菜单选择数据。
  • 带 SD 的数据记录器
pYYBAGN3KrOAXXB6AAsj14mf1dw806.jpg
 
pYYBAGN3KreAMtU5AAEx36uldR4829.png
 

Arduino 日期和时间选择器

此日期时间选择器允许您输入特定的日期和时间值。从设置闹钟到安排时间或记录您的时间序列。

https://www.hackster.io/javagoza/arduino-date-and-time-picker-daa2fe

pYYBAGN3KsCAYo3oAA98YraI5Dw848.jpg
 

Arduino Touch 突破游戏

Arduino Touch Breakout Game 完全可配置的多级 Arduino 触摸屏突破游戏。

https://www.hackster.io/javagoza/arduino-touch-breakout-game-eda113

 

poYBAGN3KseAEMsBAAut2Q7tUnM706.jpg
 

 

 

 


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

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !