_SKU_DFR0347__2.8__TFT_Touch_Shield_with_4MB_Flash_for_Arduino_and_mbed - jimaobian/DFRobotWikiCn GitHub Wiki

105屏.png

概 述

此液晶显示模块基于SPI通讯接口,提供2.8" TFT液晶显示, 电阻触摸屏,内置Flash闪存和SD卡外部扩展存储。

性能描述

  • 产品型号: DM-TFT28-105
  • 屏幕尺寸: 2.8"
  • 工作电压: 3.3V和 5V
  • 屏幕分辨率: 240x320
  • 通信接口: SPI
  • 闪存: 4MB
  • 工作温度: -10~70℃
  • 支持 micro-SD卡
  • 尺寸: 55*70 (W*H)mm
  • 可视域:43.2*57.6 (W*H)mm
  • 重量: 40g
  • 支持 Arduinombed

引脚以及结构

1.引脚布局:该显示器采用TFT触摸,SPI接口,SD卡和外部FLASH存储器

DM-TFT28-105_Pin_Layout.png

2.引脚功能:该TFT面板直接连接在一个Arduino引脚兼容的设备

DM-TFT28-105_Pin_Function.png

3.电气特性 TFT105-Electrical_Characteristics.png

4.绝对最大额定值

TFT105-Absolute_Maximum_Ratings.png

基本应用

库文件实例应用下载

下面是下载样例代码步骤。

1.首先下载库文件 dmtftlibrary

2.解压缩到你的Arduino库文件夹中。在Windows里,通常位于Documents\Arduino\libraries。如果你想知道更多关于如何用Libraries,请关注Arduino的官方指南

3.打开Arduino的IDE,你可以找到现成的可运行实例。File--> Examples-> DmTftLibraries,然后选择相对应模块使用(这一款是DM-TFT28-105)。

4.打开范例和上传到你的Arduino电路板。

107screenshot_examples_grande.png

基本显示应用

基本显示应用,可以显示字符、线条、图形等基本操作。先从库中找到libraries\DmTftLibrary\DmTftBase.h文件,调用基本函数。

#include <SPI.h> #include <DmTftIli9341.h> DmTftIli9341 tft = DmTftIli9341(10, 9);//定义实体函数 void setup () {  tft.init();  tft.drawString(5, 10,"  Romantic cabin");//显示字符串  int x=100,y=100;  tft.drawLine (x, y, x-80, y+30, YELLOW );//画线  delay(1000);  tft.drawLine (x, y, x+80, y+30, YELLOW );  delay(1000);  tft.drawLine (x-60, y+25, x-60, y+160, BLUE  );  delay(1000);  tft.drawLine (x+60, y+25, x+60, y+160, BLUE  );  delay(1000);  tft.drawLine (x-60, y+160, x+60, y+160,0x07e0  );  delay(1000);  tft.drawRectangle(x-40, y+50,x-20, y+70, 0x8418);//显示方形  delay(1000);  tft.drawRectangle(x+40, y+50,x+20, y+70, 0x07ff);  delay(1000);  tft.fillRectangle(x-20, y+100, x+20, y+160, BRIGHT_RED);//显示充满的方形  delay(1000);  tft.drawLine (x, y+100, x, y+160, WHITE  );  delay(1000);  tft.fillCircle(x+100, y-30, 20, RED );  delay(1000); } void loop(){}

TFTdraw105.png

触屏应用

触屏应用既是能够获取到触点的位置,同时显示不同的内容。

#include <SPI.h> #include <DmTftIli9341.h> #include <DmTouch.h> #include <utility/DmTouchCalibration.h> DmTftIli9341 tft = DmTftIli9341(10,9); DmTouch dmTouch = DmTouch(DmTouch::DM_TFT28_105); DmTouchCalibration calibration = DmTouchCalibration(&tft, &dmTouch); bool calibrated = false; uint16_t x=0, y=0 ; void setup() {  dmTouch.setCalibrationMatrix(calibration.getDefaultCalibrationData((int)DmTouch::DM_TFT28_105));  tft.init();  dmTouch.init(); } void loop() {  bool touched = true;  if (dmTouch.isTouched()) {    dmTouch.readTouchData(x,y,touched);//读取触点坐标(x,y)    calibration.drawCalibPoint(x, y);//在(x,y)点显示  } }

TFT105touch.png

从SD卡显示图片应用

1.在arduino上请使用这个转换软件把原bmp图片转换成16bit 565格式bmp图片才能正常显示,再把图片放到SD卡中,也可以直接用库里的图片(arduino-1.0.6\libraries\DmTftLibrary\examples\DM-TFT28-105)

Dm_image_converter_screenshot_grande.png

2.把SD卡装到TFT屏上[注意有的SD卡读不了(不显示或只能读取一部分),换一个知名厂家出的SD卡]

3.再按照1-4基本步骤(库文件实例应用下载)把SD卡相应的程序下载到控制器中,或者下载下面的程序(注意要改相应的图片名称)。

#include <SPI.h> #include <SPIFlash.h> #include <SD.h> #include <DmTftIli9341.h> #include <DmDrawBmpFromSdCard.h> #define TFT_CS  10 #define SD_CS   8 #define F_CS    6 #define T_CS    4 DmTftIli9341 tft = DmTftIli9341(10, 9); DmDrawBmpFromSdCard drawImage = DmDrawBmpFromSdCard(); void setup() {  // Set CS SPI pin HIGH for all SPI units, so they don't interfere  pinMode(TFT_CS, OUTPUT);  digitalWrite(TFT_CS, HIGH);  pinMode(T_CS, OUTPUT);  digitalWrite(T_CS, HIGH);  pinMode(SD_CS, OUTPUT);  digitalWrite(SD_CS, HIGH);  pinMode(F_CS, OUTPUT);  digitalWrite(F_CS, HIGH);  Serial.begin(9600);  tft.init();  SD.begin(SD_CS);  drawImage.drawImage("logop565.bmp", tft, 0, 0);//显示图片  tft.clearScreen();  delay(2000);  drawImage.drawImage("logop888.bmp", tft, 0, 0); } void loop() { }

相关产品的应用

相关产品应用

TFT实例.png

File:nextredirectltr.png购买2.8" TFT触摸显示屏 (SKU:DFR0347)

⚠️ **GitHub.com Fallback** ⚠️