TFT_LCD使用TFT_eSPI库显示图片

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

LCD image Converter 2.1.21102老朽痴拙汉化版(位图生成器qt) 是一未款为嵌入式应用程序创建工位图和字体的工具, 这个程序允许你创建位图和字体,并为嵌入式应用程序转换为“C”源格式 。 图像源代码的转换是通过使用模板生成的。因此,通过修改模板,可以改变在一定范围内的输出的格式。 该应用程序允许您: 创建一个单一的位图; 创建字体(一套图像 - 文字): 包括Unicode字符集。 创建数据结构显示: 黑白,灰度,彩色; 用字节的垂直和水平的取向; 8,16,24,32位数据; 1 ...24像素位; RLE压缩; 不同的显示控制,而不是由一个特定模型的限制。 LCD Image Converter Tool to create bitmaps and fonts for embedded applications, v.2.1.21102.33684.(2013.10) This program allows you to create bitmaps and fonts, and transform them to "C" source format for embedded applications. The transformation of the images to the source code is made by using templates. Therefore, by modifying the templates, you can change the format of the output within certain limits. This application allows you to: Create a single image; Create fonts (set of images - characters): Including unicode charset. Create the data structures for displays: Monochrome, grayscale, color; With vertical and horizontal orientation of bytes; 8, 16, 24, 32-bit data; 1...24 bits per pixel; RLE compression; With different display controllers, not limited by one particular model.
好的,我会为您讲解在Arduino使用TFT_eSPI编程驱动LCD显示的实验过程,以下是详细步骤: 1. 准备材料 你需要准备以下材料: - Arduino开发板 - 2.4寸TFT LCD屏幕 - 杜邦线 - 电位器 - 4.7K电阻 2. 连接电路 将LCD屏幕连接到Arduino开发板上,具体如下: - 将LCD屏幕的VCC接到Arduino的3.3V引脚上 - 将LCD屏幕的GND接到Arduino的GND引脚上 - 将LCD屏幕的CS引脚接到Arduino的D10引脚上 - 将LCD屏幕的DC引脚接到Arduino的D9引脚上 - 将LCD屏幕的MOSI引脚接到Arduino的D11引脚上 - 将LCD屏幕的SCK引脚接到Arduino的D13引脚上 - 将LCD屏幕的RST引脚接到Arduino的D8引脚上 - 将电位器的中间引脚接到LCD屏幕的A0引脚上,将电位器的两个端口接到GND和3.3V引脚上,用来控制屏幕亮度 3. 安装TFT_eSPIArduino IDE中打开“工具”菜单,选择“管理”,搜索TFT_eSPI并安装。 4. 编写程序 以下是一个简单的程序,用于在LCD屏幕上显示一些文本: ```c++ #include <TFT_eSPI.h> TFT_eSPI tft = TFT_eSPI(); void setup() { tft.begin(); tft.setRotation(1); // 设置屏幕方向 tft.fillScreen(TFT_BLACK); // 填充黑色背景 tft.setTextColor(TFT_WHITE); // 设置字体颜色 tft.setTextSize(2); // 设置字体大小 tft.setCursor(0, 0); // 设置文本位置 tft.println("Hello, World!"); // 显示文本 } void loop() { } ``` 5. 上传程序 将程序上传到Arduino开发板上。 6. 查看LCD屏幕显示Arduino开发板上加电,等待程序启动后即可在LCD屏幕上看到显示的文本。 以上就是在Arduino使用TFT_eSPI编程驱动LCD显示的实验过程。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值