【花雕学编程】Arduino动手做(249)---ESP32 1.28寸 TFT GC9A01屏幕之三色屏幕 + 中央文字 "TFT GC9A01"

2025-03-26114
AI 快速预览详细 收起
本文介绍了如何使用ESP32和1.28寸TFT GC9A01屏幕实现三色背景切换,并在中央显示文字。通过具体的代码示例,展示了如何设置屏幕引脚、填充背景颜色、设置文字位置等步骤。文章还提供了详细的代码功能说明,包括背景颜色切换、中央文字显示、静态文字内容和循环显示效果。最终效果是屏幕会依次显示红色、绿色和蓝色背景,每种背景下屏幕中心显示白色的3号字体文字“TFT GC9A01”,动画流畅,适合基础屏幕测试和功能演示。

00 (1).jpg
00 (2).jpg
02.jpg
10 (1).jpg
10 (2).jpg
12.jpg
13.jpg

  【Arduino】189种传感器模块系列实验(资料代码+仿真编程+图形编程)

  实验二百四十九:1.28寸圆形彩色TFT显示屏 高清IPS 模块 240*240 SPI接口GC9A01驱动

  项目实验之十九:三色屏幕 + 中央文字 "TFT GC9A01"

 

实验开源代码

 


 

代码
/*
  【Arduino】189种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验二百四十九:1.28寸圆形彩色TFT显示屏 高清IPS 模块 240*240 SPI接口GC9A01驱动
  项目实验之十九:三色屏幕 + 中央文字 "TFT GC9A01"
*/

//       GC9A010 -------- ESP32
//       RST ------------ NC(复位引脚,此处未连接)
//       CS ------------- D4(片选引脚,连接到ESP32的D4引脚)
//       DC ------------- D2(数据/命令选择引脚,连接到ESP32的D2引脚)
//       SDA ------------ D23 (green)(主数据输出引脚,连接到ESP32的D23引脚,绿色线)
//       SCL ------------ D18 (yellow)(时钟信号引脚,连接到ESP32的D18引脚,黄色线)
//       GND ------------ GND(接地引脚,连接到ESP32的接地端)
//       VCC -------------3V3(电源引脚,连接到ESP32的3.3V电源)

#include "SPI.h"
#include "Adafruit_GFX.h"
#include "Adafruit_GC9A01A.h"

// 定义屏幕引脚
#define TFT_CS 4        // 片选引脚
#define TFT_DC 2        // 数据/命令引脚
#define TFT_RST -1      // 重置引脚(若未连接请设置为 -1)

// 初始化屏幕对象
Adafruit_GC9A01A tft = Adafruit_GC9A01A(TFT_CS, TFT_DC, TFT_RST);

void setup() {
    Serial.begin(115200);       // 初始化串口通信
    Serial.println("TFT GC9A01 - Three Colors with Centered Text");

    tft.begin();                // 初始化屏幕
    tft.setRotation(2);         // 设置屏幕方向(0 为默认)
    tft.fillScreen(GC9A01A_BLACK); // 清屏
}

void loop() {
    // 显示红色背景 + 文字
    tft.fillScreen(GC9A01A_RED);           // 填充红色背景
    tft.setTextColor(GC9A01A_WHITE);       // 设置文字颜色为白色
    tft.setTextSize(3);                    // 设置字体大小为 3 号
    tft.setCursor(35, 90);                // 设置文字位置,使其居中
    tft.print("TFT GC9A01");               // 屏幕中心显示文字
    delay(1000);                           // 停留 1 秒

    // 显示绿色背景 + 文字
    tft.fillScreen(GC9A01A_GREEN);         // 填充绿色背景
    tft.setTextColor(GC9A01A_WHITE);       // 文字颜色保持白色
    tft.setTextSize(3);
    tft.setCursor(35, 120);                // 屏幕中心位置
    tft.print("TFT GC9A01");               // 显示文字
    delay(1000);                           // 停留 1 秒

    // 显示蓝色背景 + 文字
    tft.fillScreen(GC9A01A_BLUE);          // 填充蓝色背景
    tft.setTextColor(GC9A01A_WHITE);       // 文字颜色保持白色
    tft.setTextSize(3);
    tft.setCursor(35, 150);                // 屏幕中心位置
    tft.print("TFT GC9A01");               // 显示文字
    delay(1000);                           // 停留 1 秒
}

代码功能说明

1、背景颜色切换:

使用 fillScreen() 方法循环切换红色、绿色和蓝色背景。

每种背景停留 1 秒,通过 delay(1000) 控制时间。

2、中央文字显示:

使用 setTextColor(GC9A01A_WHITE) 将文字颜色设置为白色。

使用 setTextSize(3) 设置字体大小为 3 号。

使用 setCursor(60, 100) 确定文字位置,使其位于屏幕中心(240x240 屏幕)。

3、静态文字内容:

文字内容始终为 "TFT GC9A01"。

4、循环显示:

背景颜色和文字显示功能会不断循环。

5、效果描述

屏幕会依次显示红色、绿色和蓝色背景。

每种背景下,屏幕中心显示白色的 3 号字体文字 "TFT GC9A01"。

动画流畅,适合基础屏幕测试和功能演示。

实验场景图  动态图

 

35 (1).jpg
35 (2).jpg
00086.gif

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(0)
- 没有更多了 -