tft_eSPI库函数图形编程库,mixly图形库。图片解码TJpg_Decoder库,tft_eSPI sprite精灵库及使用教程

tft_eSPI库研究一下,感觉不错就做了个图形库。本来想自用的。感觉使用很方便特拿出来分享。搞了n多天。

米思齐 mixly1.20。1.20版完美运行。

tft_espi库介绍及支持的液晶屏

tft_espi库是一个用于ESP32和ESP8266芯片的库,用于与彩色液晶屏(TFT)交互。它提供了许多功能,例如绘制形状、绘制文本、绘制图像和绘制图标等。此库使用SPI接口与TFT屏幕进行通信,可以使用不同类型的TFT屏幕,例如ILI9341、ST7789、ILI9163等。tft_espi库易于使用,具有灵活性,适用于各种类型的项目,例如智能家居、自动化系统、游戏等。

tft_eSPI ili9431 液晶屏 User_Setup.h 配置及引脚接线

TFT_ESPI ILI9431引脚是指在使用TFT_ESPI库驱动ILI9431 TFT显示器时,需要连接的引脚。具体如下:

esp32引脚配置

 TFT_ESPI ILI9431 引脚 | ESP32 引脚

— | —
MOSI | 23
MISO | 19
CLK | 18
CS | 5
DC | 16
RST | 17
BLK | 4

请注意,这些引脚可能因开发板和库的不同而有所变化。在使用前,请先查看相关文档并确认正确的接线。
在使用TFT_ESPI库控制ILI9431 TFT屏幕时,需要将屏幕的引脚连接到ESP8266的GPIO口,并在User_Setup.h文件中进行设置。

以下是ILI9431屏幕连接到ESP8266的引脚关系:

ILI9431屏幕引脚 ESP8266引脚
VCC 3.3V
GND GND
CS D8
RESET D4
RD N/C
WR D3
CD D2
SDI MOSI(D7)
SCK SCK(D5)
LED 3.3V

在User_Setup.h文件中,需要根据屏幕引脚连接情况进行相应设置。具体设置如下:

#define TFT_CS  D8
#define TFT_RST D4
#define TFT_DC  D2
#define TFT_WR  D3

在使用TFT_ESPI库控制ILI9431 TFT屏幕时,需要将屏幕的引脚连接到ESP8266的GPIO口,并在User_Setup.h文件中进行设置。

以下是ILI9431屏幕连接到ESP8266的引脚关系:

ILI9431屏幕引脚 ESP8266引脚
VCC 3.3V
GND GND
CS D8
RESET D4
RD N/C
WR D3
CD D2
SDI MOSI(D7)
SCK SCK(D5)
LED 3.3V

在User_Setup.h文件中,需要根据屏幕引脚连接情况进行相应设置。具体设置如下:

#define TFT_CS  D8
#define TFT_RST D4
#define TFT_DC  D2
#define TFT_WR  D3

注意,如果您使用的是其他的芯片或者开发板,引脚可能会有不同,需要根据实际情况进行修改。

下面介绍一下模块功能:

1.tft_espi基本库

tft_eSPI库函数图形编程库,mixly图形库。图片解码TJpg_Decoder库,tft_eSPI sprite精灵库及使用教程_第1张图片

2. tft_eSPI 图片解码TJpg_Decoder库

tft_eSPI库函数图形编程库,mixly图形库。图片解码TJpg_Decoder库,tft_eSPI sprite精灵库及使用教程_第2张图片

3. tft_eSPI sprite 精灵库

tft_eSPI库函数图形编程库,mixly图形库。图片解码TJpg_Decoder库,tft_eSPI sprite精灵库及使用教程_第3张图片

tft_eSPI 使用方法 与 演示。

tft_eSPI库函数图形编程库,mixly图形库。图片解码TJpg_Decoder库,tft_eSPI sprite精灵库及使用教程_第4张图片

演示效果,动画效果图片无法呈现。

tft_eSPI库函数图形编程库,mixly图形库。图片解码TJpg_Decoder库,tft_eSPI sprite精灵库及使用教程_第5张图片

演示gif相机拍出效果失真

特别说明:

arduino ide 可以加载头部文件 .h mixly是无法加载的。经过不懈努力的研究最后成功搞定。方法也很简单一捅你就懂。哈哈哈
如安装路径:D:\Mixly1.20back\arduino\portable\sketchbook\libraries 这是库文件目录 在这里新建一个文件夹 自定义个改名 必须是英文字母,然后把你要加载的图片文件或字体文件复制过来。在mixly头部定义如 #include 编译即可成功。
如下图:
tft_eSPI库函数图形编程库,mixly图形库。图片解码TJpg_Decoder库,tft_eSPI sprite精灵库及使用教程_第6张图片

演示完整代码:

#include 
#include 
#include 
#include 
#include 

TFT_eSPI tft = TFT_eSPI();
bool tft_output(int16_t x, int16_t y, uint16_t w, uint16_t h, uint16_t* bitmap)
{
   if (y >= tft.height()) return 0;
    tft.pushImage(x, y, w, h, bitmap);
   return 1;
}

TFT_eSprite clk = TFT_eSprite(&tft);

void setup(){
  tft.begin();
  tft.setRotation(0);
  TJpgDec.setJpgScale(1);
  TJpgDec.setSwapBytes(true);
  TJpgDec.setCallback(tft_output);

  tft.fillScreen(TFT_WHITE);
}

void loop(){
  tft.setCursor(50,120);
    tft.setTextColor(TFT_RED,TFT_WHITE);
    tft.loadFont(zh_font28);
    tft.drawString(" 琢磨侠tft_eSPI",10,50);
    tft.unloadFont();//卸载字库占用内存
    for(int i = 0;i<4;i ++){
      for(int j = 0;j<(2 * (i + 1));j ++){
        tft.drawPixel(((2 + 2) * i),(10 - j),TFT_BLACK);
      }
    }
  clk.setColorDepth(8);
  clk.loadFont(zh_font28);
  clk.createSprite(120,30);
  clk.fillSprite(TFT_WHITE);
  clk.setTextDatum(CC_DATUM);
  clk.setTextColor(TFT_BLACK,TFT_WHITE);
  clk.drawString("Mxly",60,14);
  clk.pushSprite(50,100);
  clk.deleteSprite();
  clk.unloadFont();
  int x=50,y=150,ys=30;
  TJpgDec.drawJpg(x,y,pic1, sizeof(pic1));
  delay(ys);
  TJpgDec.drawJpg(x,y,pic2, sizeof(pic2));
  delay(ys);
  TJpgDec.drawJpg(x,y,pic3, sizeof(pic3));
  delay(ys);

}

有问题留言吧。

你可能感兴趣的:(arduino,tft_espi,库,Mixly图形编程库,tft_espi,spritr,tft_espi,图形编程库,TJpg_Decoder,ili9431tft_espi)