使用ESP32通过Arduino IDE点亮1.8寸TFT显示屏

开发板选择

本次使用开发板模块丝印为ESP32-WROOM-32E
请添加图片描述

开发板库选择

Arduino IDE上型号选择为ESP32-WROOM-DA Module
在这里插入图片描述

显示屏选择

使用显示屏为8针SPI接口显示屏
驱动IC为ST7735S
请添加图片描述
请添加图片描述

使用库

使用三个Arduino平台库
分别是

  • Adafruit_GFX
  • Adafruit_ST7735
  • SPI

代码详解

首先引入使用的三个库

  • Adafruit_GFX
  • Adafruit_ST7735
  • SPI
#include <Adafruit_GFX.h>
#include <Adafruit_ST7735.h>
#include <SPI.h>

然后定义连接显示屏的引脚

#define TFT_CS    14 // 请替换为您的CS引脚号
#define TFT_DC    27 // 请替换为您的DC引脚号
#define TFT_RST   5 // 请替换为您的RST引脚号
//#define TFT_SCK   18 // 请替换为您的SCK引脚号 
//#define TFT_MOSI  23 // 请替换为您的MOSI引脚号

显示屏共有8个引脚
功能如下所示:

  1. BLK :背光控制引脚 低电平关闭背光 悬空或高电平为开启背光
  2. CS :(Chip Select,片选引脚) SPI通信中用于选择特定的芯片或设备
  3. DC :(Data/Command,数据 / 命令引脚) 显示屏驱动通过该引脚来识别接受的数据为数据或命令
  4. RST:(Reset,复位引脚) 用于将设备恢复到初始状态。
  5. SCL:(Serial Clock,串行时钟引脚) SPI协议中的CLK引脚
  6. SDA :(Serial Data,串行数据引脚) SPI协议中的MOSI引脚
  7. VDD:(Power Supply Voltage,电源引脚)
  8. GND:(Ground,接地引脚)

通过查看<Adafruit_ST7735.h>文件可以知道有两种初始化引脚方式
一种是使用

Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST);//创建显示屏对象并初始化

这时候可以将SCL和SDA引脚连接到默认的D18和D23引脚
也可以使用

Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_MOSI , TFT_SCLK , TFT_RST);//创建显示屏对象并初始化

来自定义使用的引脚
在这里插入图片描述
显示代码则使用下面的函数进行相关显示配置

  tft.initR(INITR_BLACKTAB); 		//使用适当的初始化参数
  tft.setRotation(1); 				//设置显示方向,1表示顺时针旋转90度
  tft.fillScreen(ST7735_BLACK);		//设置背景颜色
  tft.setTextColor(ST7735_WHITE);	//设置文字颜色
  tft.setTextSize(2);				//设置字体大小
  tft.setCursor(10, 10);			//设置起始位置
  tft.println("Hello, ST7735!");	//输出显示的文本信息

下面代码则用来测试程序是否正确运行
正常运行时板载的LED灯将会闪烁

  pinMode(2, OUTPUT);  // 将引脚2设置为输出模式
  digitalWrite(2, LOW);  // 将引脚2设置为低电平
  delay(1000);
  digitalWrite(2, HIGH);  // 将引脚2设置为高电平
  delay(1000);

完整代码

//引入显示屏库
#include <Adafruit_GFX.h>
#include <Adafruit_ST7735.h>
#include <SPI.h>

#define TFT_CS    14 // 请替换为您的CS引脚号
#define TFT_DC    27 // 请替换为您的DC引脚号
#define TFT_RST   5 // 请替换为您的RST引脚号
//#define TFT_SCK   18 // 请替换为您的SCK引脚号 
//#define TFT_MOSI  23 // 请替换为您的MOSI引脚号
//已经默认配置

Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST);//创建显示屏对象并初始化

void setup() {
  pinMode(2, OUTPUT);  // 将引脚2设置为输出模式
  tft.initR(INITR_BLACKTAB); // 使用适当的初始化参数
  tft.setRotation(1); // 设置显示方向,1表示顺时针旋转90度
  tft.fillScreen(ST7735_BLACK);//设置背景颜色
  tft.setTextColor(ST7735_WHITE);//设置文字颜色
  tft.setTextSize(2);//设置字体大小
  tft.setCursor(10, 10);//设置起始位置
  tft.println("Hello, ST7735!");
}

void loop() {
  digitalWrite(2, LOW);  // 将引脚2设置为低电平
  delay(1000);
  digitalWrite(2, HIGH);  // 将引脚2设置为高电平
  delay(1000);
}

显示测试

请添加图片描述

Arduino环境下使用ESP32点亮80x160显示屏可以通过以下步骤实现: ### 硬件连接 1. **显示屏选择**:确保你使用的是兼容ESP3280x160分辨率的显示屏。常见的显示屏有ST7735和ST7789驱动芯片的TFT显示屏。 2. **连接引脚**:将显示屏的引脚连接到ESP32的相应引脚。通常需要连接以下引脚: - VCC:连接到3.3V电源 - GND:连接到地 - SCL(SCLK):连接到ESP32的时钟引脚(如GPIO18) - CS:连接到ESP32的片选引脚(如GPIO5) - RESET:连接到ESP32的重置引脚(如GPIO16) ### 软件设置 1. **安装Arduino IDE**:确保你已经安装了Arduino IDE,并且已经配置好了ESP32的开发环境。 2. **安装驱动库**:在Arduino IDE中,安装适用于你显示屏的驱动库。例如,对于ST7735或ST7789显示屏,可以使用Adafruit的ST7735和ST7789库。 - 打开Arduino IDE,进入`工具` -> `库管理器`。 - 搜索`Adafruit ST7735 and ST7789`并安装。 ### 示例代码 以下是一个简单的示例代码,用于在80x160显示屏上显示一些文本和图形: ```cpp #include <Adafruit_GFX.h> #include <Adafruit_ST7789.h> #include <SPI.h> #define TFT_CS 5 #define TFT_RST 16 #define TFT_DC 17 Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_RST); void setup() { // 初始化串口 Serial.begin(115200); // 初始化显示屏 tft.init(80, 160); tft.setRotation(3); tft.fillScreen(ST77XX_BLACK); // 显示文本 tft.setCursor(0, 0); tft.setTextColor(ST77XX_WHITE); tft.setTextSize(2); tft.println("Hello, ESP32!"); // 绘制图形 tft.drawRect(10, 10, 60, 140, ST77XX_RED); tft.fillRect(20, 20, 40, 120, ST77XX_BLUE); } void loop() { // 主循环中不需要任何代码 } ``` ### 代码说明 1. **库引入**:引入`Adafruit_GFX`和`Adafruit_ST7789`库以及`SPI`库。 2. **引脚定义**:定义显示屏的CS、DC和RST引脚。 3. **显示屏初始化**:在`setup`函数中初始化显示屏,设置旋转角度,填充背景色,并显示文本和图形。 ### 总结 通过以上步骤,你可以在Arduino环境下使用ESP32点亮80x160显示屏,并显示文本和图形。根据你的具体需求,可以进一步扩展和优化代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值