TFT_LCD使用TFT_eSPI库显示图片
TFT_LCD具有彩色显示的能力,很适合显示图片。显示图片的原理和显示汉字基本一样,显示一张图片就相当显示一个大号汉字,图片的点阵信息来自图片点阵库,就是一个大字库。还是那个原则,我们寻找一个显示图片的最简单途径,简单、简单、还是TM的简单。好像是那个电影里的名句?
下面开始试验。
一、实验用品依旧
实验板:ESP32S(NodeMCU-32s)
显示屏:2.4" TFT LCD GMT024-10 驱动芯片ST7789 分辨率 240X320
接线方式:GND、Vcc、SCK-18、SDA-23、RST-26、DC-27、CS-5
主要库文件:TFT_eSPI 2.5.43 (Arduino 库管理器可下载)
程序编辑器:Arduino IDE 2.3.2
图库编辑软件:lcd-image-converter.exe
二、图库生成
(一)首先准备一张图片,按照我的LCD屏显示尺寸,裁剪成240X320像素的图片备用。我用的是光影魔术手简体中文绿色版,不是这个好用,只是手边就有,凑手。
(二)下载、解压lcd-image-converter,打开lcd-image-converter.。1、起一个名字,比如image2;2、使用菜单image,improt将裁剪好的图片载入;3、打开菜单options中covnersion,将preset中改为corol R5G6B5,4、点开image页面卡,将BLack Size中改成16bt,然后点Show preview即可生存给数据。5、复制粘贴到记事本中,加入头尾,将数据保存image2.h备用。
注:数据头部加上const uint16_t image1 [] PROGMEM ={,别忘了尾部加上};
三、程序
/*******************************
MCU:NodeMCU—35S、ESP32 Dev Modlue
TFT_LCD_ST7789V
库:TFT_eSPI 2.5.43
NodeMCU—35S接法:
GND、Vcc、SCK-18、SDA-23、RST-26、DC-27、CS-5
*********************************/
#include <SPI.h>
#include <TFT_eSPI.h>
#include "image1.h" //加载自定义字体
TFT_eSPI tft =TFT_eSPI();
void setup(void) {
tft.init(); //初始化TFT屏幕
tft.fillScreen(TFT_BLACK); //刷屏底色为黑色
tft.setSwapBytes(true);
tft.pushImage(0,0,240,320,image1);
}
void loop() {
}
四、效果
咦!小姐姐面色发蓝?算了原因不想找了,可能是蓝莓吃多了,网友知道告诉我一声。
五、鸣谢
看了网友小鱼的视频很受启发,他还热心的为网友准备了以上用到的各种工具,在他的视频下面,在此对他表示感谢。下面是小鱼视频网址,有空给他点个赞。
https://www.bilibili.com/video/BV1EP411F77m/?p=37&spm_id_from=pageDriver&vd_source=38018f91c4bdbdf4d754febba8a6678c