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引脚
VCC3.3V
GNDGND
CSD8
RESETD4
RDN/C
WRD3
CDD2
SDIMOSI(D7)
SCKSCK(D5)
LED3.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引脚
VCC3.3V
GNDGND
CSD8
RESETD4
RDN/C
WRD3
CDD2
SDIMOSI(D7)
SCKSCK(D5)
LED3.3V

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

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

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

下面介绍一下模块功能:

1.tft_espi基本库

在这里插入图片描述

2. tft_eSPI 图片解码TJpg_Decoder库

在这里插入图片描述

3. tft_eSPI sprite 精灵库

在这里插入图片描述

tft_eSPI 使用方法 与 演示。

在这里插入图片描述

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

在这里插入图片描述

演示gif相机拍出效果失真

在这里插入图片描述

特别说明:

arduino ide 可以加载头部文件 .h mixly是无法加载的。经过不懈努力的研究最后成功搞定。方法也很简单一捅你就懂。哈哈哈
如安装路径:D:\Mixly1.20back\arduino\portable\sketchbook\libraries 这是库文件目录 在这里新建一个文件夹 自定义个改名 必须是英文字母,然后把你要加载的图片文件或字体文件复制过来。在mixly头部定义如 #include <zh_font28.h> 编译即可成功。
如下图:
在这里插入图片描述

演示完整代码:

#include <zh_font28.h>
#include <pic1.h>
#include <SPI.h>
#include <TFT_eSPI.h>
#include <TJpg_Decoder.h>

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);

}

有问题留言吧。

mixly1.20下载地址:模块下载

# mixly2.0rc4 下载地址:rc4模块下载

由于mixly2.0 rc3升级到rc4后库地址路径改变,造成导入后无法正常显示模块2023.12.21已修复

mixly2.0rc4修复不显示版下载

  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 22
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

琢磨侠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值