项目准备
软件
硬件
- Esp32开发板(我使用的是 合宙的Esp32C3)
- TFT液晶屏(某宝淘的 1.8 寸 TFT 彩屏 驱动ST7735s 分辨率128*160)
正式开始
- 打开ArduinoIDE,在左侧 库管理 里搜索 tft_espi 并安装它(当前最新版 2.5.0)
- 配置TFT_eSPI,打开并编辑 项目文件夹\libraries\TFT_eSPI\User_Setup.h 此文件。主要配置4项
1、设置屏幕的驱动(注释掉默认的驱动,将适合你屏幕的驱动解开。我的是7735)
2、设置分辨率(将合适的注释解开,我选的WIDTH 128、HEIGHT-160)
3、设置主题和反色(显示异常如颜色反色、图像镜像等,可逐条解开注释并编译查看。我选的ST7735_BLACKTAB)
4、配置屏幕SPI引脚(自由配置可参考我的)
- 其他配置项可选,我暂时用不上所以全删了(以下是我去除多余无用配置后的代码)
// 驱动
#define ST7735_DRIVER // Define additional parameters below for this display
// 分辨率
#define TFT_WIDTH 128
#define TFT_HEIGHT 160
// 默认主题-黑色
#define ST7735_BLACKTAB
// 引脚
#define TFT_MOSI 3 // 在一些显示驱动板中,它可能被写为“SDA”等等。
#define TFT_SCLK 2 //
#define TFT_CS 7 // 芯片选择控制引脚
#define TFT_DC 6 // 命令控制引脚
#define TFT_RST 10 // 复位引脚(可连接Arduino Reset引脚)
#define TFT_BL 11 // LED背光源
// #define TOUCH_CS 21 // 触摸屏芯片选择引脚(T_CS)
// #define TFT_WR 22 // 写频闪修改树莓派TFT只
// 字体
#define LOAD_GLCD // 字体1。原始Adafruit 8像素字体在FLASH中需要~1820字节
#define LOAD_FONT2 // 字体2。小型16像素高字体,需要~3534字节的FLASH, 96个字符
#define LOAD_FONT4 // 字体4。中等26像素高的字体,需要~5848字节的FLASH, 96个字符
#define LOAD_FONT6 // 字体6。大48像素字体,在FLASH中需要~2666字节,仅字符1234567890:-.apm
#define LOAD_FONT7 // 字体7。7段48像素字体,在FLASH中需要~2438字节,只需要字符1234567890:-.
// #define LOAD_FONT8 // 字体8。大型75像素字体在FLASH中需要~3256字节,仅字符1234567890:-.
#define LOAD_FONT8N // 字体8。替代上面的字体8,稍微窄一点,所以3个数字适合160像素的TFT
#define LOAD_GFXFF // FreeFonts。包括访问48 Adafruit_GFX免费字体FF1到FF48和自定义字体
#define SMOOTH_FONT
// 刷新率
#define SPI_FREQUENCY 40000000
#define SPI_READ_FREQUENCY 20000000
#define SPI_TOUCH_FREQUENCY 2500000
实物展示
补充
实物参考 TFT_eSPI 库自带示例
位置 打开ArduinoIDE 左上角 文件>>>示例(往下翻)TFT_eSPI >>> 160*128 >>> TFT_Clogk_Digital
屏幕与Esp32c3开发板的接线
屏幕引脚 | 开发板引脚 |
---|---|
GND | GND |
VDD | 3.3V |
SCL | IO02 |
SDA | IO03 |
RTS | IO10 |
DC | IO06 |
CS | IO07 |
BLK | IO11 |