【花雕学编程】Arduino动手做(249)---ESP32驱动1.28寸 TFT GC9A01圆屏之随机位置显示5号红色字母“OK”刷屏0.3秒
2025-03-2546
AI 快速预览详细
本教程介绍了如何使用ESP32驱动1.28寸TFT GC9A01圆屏,并在随机位置显示5号红色字母“OK”。通过详细代码和步骤,展示了如何生成随机坐标、设置字体颜色和大小,并实现每0.3秒刷新一次的效果。适合Arduino爱好者和初学者参考。







【Arduino】189种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百四十九:1.28寸圆形彩色TFT显示屏 高清IPS 模块 240*240 SPI接口GC9A01驱动
项目实验之十:随机位置显示5号红色字母“OK”刷屏0.3秒
实验开源代码
代码
/*
【Arduino】189种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百四十九:1.28寸圆形彩色TFT显示屏 高清IPS 模块 240*240 SPI接口GC9A01驱动
项目实验之十:随机位置显示5号红色字母“OK”刷屏0.3秒
*/
// 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" // 引入SPI库
#include "Adafruit_GFX.h" // 引入Adafruit GFX库
#include "Adafruit_GC9A01A.h" // 引入GC9A01A显示屏驱动库
#define TFT_DC 2 // 定义TFT显示屏的DC引脚
#define TFT_CS 4 // 定义TFT显示屏的CS引脚
Adafruit_GC9A01A tft(TFT_CS, TFT_DC); // 创建GC9A01A对象
void setup() {
Serial.begin(9600); // 初始化串口通信
Serial.println("Random 'OK' Display!");
tft.begin(); // 初始化显示屏
tft.setRotation(2); // 设置显示屏方向
tft.fillScreen(GC9A01A_BLACK); // 清屏
randomSeed(analogRead(0)); // 初始化随机数种子
}
void loop() {
int screenWidth = tft.width(); // 屏幕宽度
int screenHeight = tft.height(); // 屏幕高度
// 随机生成位置
int randomX = random(0, screenWidth - 30); // X坐标范围(避免“OK”超出边界)
int randomY = random(0, screenHeight - 60); // Y坐标范围(避免“OK”超出边界)
// 清屏
tft.fillScreen(GC9A01A_BLACK);
// 显示红色“OK”
tft.setTextColor(GC9A01A_RED);
tft.setTextSize(5); // 设置字体大小为5
tft.setCursor(randomX, randomY);
tft.print("OK");
// 延时0.3秒
delay(300);
}代码说明
1、随机位置显示:
使用random()函数生成“OK”的随机X和Y坐标。
坐标范围限制为屏幕宽度和高度减去“OK”字符的像素尺寸,避免字符超出屏幕边界。
2、红色字体:
通过tft.setTextColor(GC9A01A_RED)设置字体颜色为红色。
3、字号设置:
使用tft.setTextSize(5)将字体大小设置为5号,确保“OK”字符足够醒目。
4、屏幕刷新:
每次显示之前调用tft.fillScreen(GC9A01A_BLACK)清屏,避免上次的字符残留。
延时delay(300)设置屏幕刷新间隔为0.3秒。
5、效果描述
屏幕会随机位置刷新显示红色大号的“OK”字符。
“OK”字符每0.3秒出现在不同的位置,动态且富有趣味。
实验场景图 动态图







