TFT_LCD使用Adafruit_GFX.h 库显示文本信息

TFT_LCD使用Adafruit_GFX.h 库显示文本信息

TFT_LCD薄膜晶体管液晶显示器具有重量轻、平板化、低功耗、无辐射、显示品质优良等特点,是常见的一种彩色显示屏。相对于OLED显示屏而言价有格低、显示尺寸大、能显示彩色的优点,深受DIY爱好者喜爱。
TFT_LCD一般采用SPI接口,接线和驱动较OLED显示屏(特别是较I2C接口的OLED)稍微复杂一些。之所以写这个贴子是因为近期查看了许多关于TFT_LCD接口、驱动、应用的例子,比较乱,有的很好,也有些很乱,让人看后一头雾水,还有很多要收费,不符合人人为我,我为人人的精神。所以整理了这个帖子发出来,希望给有兴趣的初学者以帮助。
嵌入式设备开发是一个大的专业,够一个学生学好多年,对于大多不靠这个吃饭的DIY爱好者来说,不需要深入研究,只要会用就行了,就像大家都不会开发windows、C++开发环境但不影响我们使用它,本着这个精神,试试用最简单的方法说说它的用法,只说应用,不谈理论,亲民一点哈。
下面分几个篇幅说说TFT_LCD如何显示文本、显示汉字、显示图片,一些例子借鉴了网友的经验,在此表示感谢。下面先说第一个最简单的例子,用TFT_LCD显示英文文本信息。
一、实验用品:
单片机实验板:ESP32S(NodeMCU-32s)
显示屏:2.4" TFT LCD GMT024-10 驱动芯片ST7789 分辨率 240X320
接线方式:GND、Vcc、SCK-18、SDA-23、RST-26、DC-27、CS-5
主要库文件:Adafruit_GFX.h (Arduino 库管理器可下载)
Adafruit_ST7789.h(Arduino 库管理器可下载)
程序编辑器:Arduino IDE 2.3.2
二、程序

/***************************
实验板 :ESP32C3或ESP32S
显示屏:2.4"TFT LCD GMT024-10
驱动芯片:ST7789
分辨率:240X320
接口:SPI
使用的库:Adafruit_GFX.h,Adafruit_ST7789.
ESP32C3 接线顺序:GND、Vcc、SCK-2、SDA-3、RST-10、DC-6、CS-7
ESP32S  接线顺序:GND、Vcc、SCK-18、SDA-23、RST-26、DC-27、CS-5
*****************************/
#include <Adafruit_GFX.h>
#include <Adafruit_ST7789.h>
#include <SPI.h>
#include <Fonts/FreeMono24pt7b.h>//字库

#define TFT_SCK  18 //TFT_SCK连接MCU 18脚
#define TFT_SDA  23 //TFT_SDA连接MCU 23脚
#define TFT_RST 26 // 同理
#define TFT_DC 27// 同理 
#define TFT_CS 5 // 同理

Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_RST);
const uint16_t Display_Color_White = 0x0000; //显示为白色White
const uint16_t Display_Color_Yellow = 0x001F; //显示为黄色 Yellow
const uint16_t Display_Color_Cyan = 0xF800;//显示为青色Cyan
const uint16_t Display_Color_Mageneta = 0x07E0; //显示为Mageneta
const uint16_t Display_Color_Red = 0x07FF; //显示为红色Red
const uint16_t Display_Color_Green = 0xF81F; //显示为绿色Green 
const uint16_t Display_Color_Blue = 0xFFE0; //显示为蓝色Blue
const uint16_t Display_Color_Black = 0xFFFF;//显示为Black

void setup() {
 tft.init(240, 320);//TFT_LCD初始化
 tft.setRotation(1);//屏幕转向
 tft.fillScreen(Display_Color_Black);//填满黑色
 tft.setCursor(10, 20);//起始位置
 tft.setTextColor(Display_Color_White);//设定字体颜色
 tft.setTextSize(2);//设定字体字号
 tft.print("Hello World !");
 tft.setCursor(10, 50);
 tft.setTextColor(Display_Color_Red);//设定字体颜色
 tft.setTextSize(2);//设定字体字号
 tft.print("2.4TFT LCD GMT024-10");
 tft.setCursor(10, 80);
 tft.setTextColor(Display_Color_Yellow);//设定字体颜色
 tft.setTextSize(2);//设定字体字号
 tft.print("ESP32S or ESP32S!");
}
void loop() {
} 

三、效果
在这里插入图片描述
虽然可以显示,但显示效果差一点

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值