前段时间制作了一个 AI 语音机器人,为机器人配置了一块显示屏,网上找了好多资料,没有找到合适的,后来通过 google 搜索,最终解决问题,在此记录下,希望能帮助到其他人。
1、硬件
- 微雪 2inch LCD 显示屏,st7789v 芯片
- esp32 wroom 控制板
- 开发工具用的 ardunio
2、ardunio 环境搭建
- 安装 esp32 主板库
- 安装 TFT_eSPI 库
3、编辑 TFT 文件
- 打开 ardunio 在首选项里面,找到“项目文件夹地址“根据这个目录找到安装的 TFT 库文件,我这里显示/Users/gu/Documents/Arduino
- 实际库地址是/Users/gu/Documents/Arduino/libraries 大家根据自己环境路径查找
- 在 libraries 下面看到安装的 TFT 库,目录名字是TFT_eSPI
- 编辑User_Setup.h、User_Setup_Select.h、User_Setups\Setup23_TTGO_TM.h 文件
#define USER_SETUP_INFO “User_Setup”
#define ST7789_DRIVER
#define TFT_WIDTH 240
#define TFT_HEIGHT 320
#define TFT_INVERSION_ON
#define LOAD_GLCD
#define LOAD_FONT2
#define LOAD_FONT4
#define LOAD_FONT6
#define LOAD_FONT7
#define LOAD_FONT8
#define LOAD_GFXFF
#define SMOOTH_FONT
#include <User_Setups/Setup23_TTGO_TM.h>
// Setup for the TTGO TM (Music) ESP32 board with 2.4" ST7789V display
#define USER_SETUP_ID 23 // See SetupX_Template.h for all options available #define ST7789_DRIVER
#define TFT_SDA_READ // Read from display, it only provides an SDA pin //#define TFT_MISO 19 // Must be defined even though it is not used
#define TFT_MOSI 23 // Connected to display SDA line
#define TFT_SCLK 18
#define TFT_CS 05
#define TFT_DC 16
#define TFT_RST 17
#define TFT_BL 4
#define TOUCH_CS -1
#define TFT_WIDTH 240
#define TFT_HEIGHT 320
#define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue
//#define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red // Black and white swap option
//#define TFT_INVERSION_ON
#define TFT_INVERSION_OFF
#define LOAD_GLCD
#define LOAD_FONT2
#define LOAD_FONT4
#define LOAD_FONT6
#define LOAD_FONT7
#define LOAD_FONT8
#define LOAD_GFXFF
#define SMOOTH_FONT
//#define SPI_FREQUENCY 40000000 // This display also seems to work reliably at 80MHz
//#define SPI_FREQUENCY 80000000
#define SPI_READ_FREQUENCY 6000000 // 6 MHz is the maximum SPI read speed f
打开 TFT测试程序
在 ardunio 文件->示例->TFT_eSPI 里面,找到 320*240,选择里面任意一个程序,进行编译烧录,就可以看到结果了