ESP32-CYD(2432S028)液晶2.8寸屏开发板使用ESP32-WROOM-32模块作为主控,主控是一款双核MCU,集成了Wi-Fi和蓝牙功能,主频可达240MHz,具有520KB的SRAM、448KB的ROM,闪存容量为4MB+4MB,显示分辨率为240x320,采用电阻式触控式屏幕。该模块包括LCD显示器、背光控制电路、触控式屏幕控制电路、扬声器驱动电路、光敏电路和RGB LED控制电路。支持TF卡界面、序列界面、温湿度感测器界面(DHT11界面)和保留的IO口界面,该模块支持在Arduino IDE、ESP IDE、MicroPython和Mixly中进行开发。
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百三十八:ESP32 CYD开发板WiFi蓝牙2.8寸240*320智能液晶显示屏带触摸屏TFT模块
项目实验之十:ESP32 CYD液晶2.8寸开发板循环旋转显示“Hello world”
实验开源代码
/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百三十八:ESP32 CYD开发板WiFi蓝牙2.8寸240*320智能液晶显示屏带触摸屏TFT模块
项目实验之十:ESP32 CYD液晶2.8寸开发板循环旋转显示“Hello world”
*/
#include <TFT_eSPI.h> // 引入 TFT_eSPI 库
TFT_eSPI tft = TFT_eSPI(); // 创建 TFT_eSPI 对象
uint16_t bgColor = TFT_BLACK; // 背景颜色
uint16_t textColor = TFT_WHITE; // 文字颜色
void setup() {
tft.init(); // 初始化 TFT 屏幕
tft.setRotation(1); // 设置屏幕旋转方向,顺时针旋转 90 度
tft.fillScreen(bgColor); // 填充屏幕背景色
tft.setTextColor(textColor, bgColor); // 设置文字颜色和背景颜色
tft.setTextDatum(MC_DATUM); // 设置文字基准为屏幕中央
tft.setTextSize(3); // 设置文字大小
}
void loop() {
for (int i = 0; i < 4; i++) { // 循环旋转四次
tft.setRotation(i); // 设置屏幕旋转方向
tft.fillScreen(bgColor); // 填充屏幕背景色
tft.drawString("Hello world", tft.width() / 2, tft.height() / 2); // 屏幕中央显示 "Hello world"
delay(1000); // 延迟 1 秒
}
}
代码解读
1、屏幕初始化和旋转方向:
通过tft.init()初始化TFT屏幕,并使用tft.setRotation(1)设置屏幕的旋转方向。初始化和设置屏幕方向是确保显示内容正确显示的基础。
2、屏幕背景和文字颜色:
使用tft.fillScreen(bgColor)填充屏幕背景色,使用tft.setTextColor(textColor, bgColor)设置文字颜色和背景颜色。设置背景颜色和文字颜色可以确保显示效果清晰。
3、文字基准和大小:
使用tft.setTextDatum(MC_DATUM)将文字基准设置为屏幕中央,并使用tft.setTextSize(3)设置文字大小。将文字基准设置为屏幕中央可以确保文字显示在屏幕中央。
4、循环旋转显示:
使用for循环,结合tft.setRotation(i)设置不同的旋转方向,使文字在屏幕上循环旋转显示。通过delay(1000)函数实现每次旋转后的延时,确保用户能够看到旋转效果。
5、动态刷新屏幕:
在每次旋转和文字显示前,使用tft.fillScreen(bgColor)清空屏幕并填充背景色,确保新的文字显示不会与之前的显示内容重叠,实现动态刷新屏幕效果。
这个程序展示了如何使用Arduino和TFT_eSPI库实现大号字体显示"Hello world"并且循环旋转的动态效果。
实验场景图 动态图
实验场景图
评论