参考:TFT-eSPI入门使用教程

Arduino开发-TFT_eSPI库学习

使用VS Code 搭建 platformio 平台

基于arduino的ESP32 学习笔记(二) TFT_eSPI和LVGL库使用笔记

https://b23.tv/VVhmXSp

硬件及软件环境

  • 开发板:ESP32-S3

  • 屏驱动是:ST7789_DRIVER

  • 开发环境:VS Code + PlatformIO

搭建开发环境教程:使用VS Code 搭建 platformio 平台

PIO创建新项目

打开PIO.Home

创建工程:

项目名字自己定义,开发板(board)选择ESP32 Pico Kit(Espressif)使用的平台选Arduino

取消使用默认路径

选择自己的路径并点击finish,等待创建完成(可能很久)

打开工程

选择创建的工程即可

成功打开

主程序

获取TFT-eSPI

GitHub:https://github.com/Bodmer/TFT_eSPI

解压压缩包

在工程中添加TFT_eSPI库

将解压的文件夹复制到工程的lib目录下

修改文件夹名字

vscode自动识别并添加到工程

进入TFT_eSPI目录

其中,User_Setup_Select.h和User_Setup.h两个文件是用来给我们根据自己的实际情况来配置屏幕大小,屏幕驱动引脚等的。其中User_Setup.h可以配置一款自己的屏幕设置,但库中有很多常用的屏幕作者已经配置好写成文件存放了,我们可以在User_Setup_Select.h中选中自己配置的User_Setup.h或者作者配置的一些屏幕。

打开User_Setup_Select.h,注释掉30行

打开60行,供esp32/esp8266/DSTIKE使用的,驱动为ST7789,大小为240*240的屏幕

进入User_Setups目录,打开Setup24_ST7789.h

屏幕像素大小,此处不需要改,如果使用的驱动相同,大小不同可以根据需要改

解注释esp32的端口设置,如果使用DSTIKE,则使用上面的

引脚号根据默认的即可,如果硬件连接已经成型,则根据实际改,否则硬件连接根据默认的连,避免出错

注释NodeMCU单片机引脚定义

设置SPI频率,设置频率时,不能超过引脚的最高频率

如果使用的屏幕没有默认配置好的文件可选,或者不知道选哪个,则进入User_Setup_Select.h文件,解注释User_Setup.h,其他都保持被注释状态

然后进入User_Setup.h文件进行配置

注释ITI9341,并解注释自己的驱动

选择分辨率大小

ST7735漂移等问题需要设置这个,其他驱动不需要,可参考

【超详细ESP32驱动TFT屏幕教程,有手就行-哔哩哔哩】

https://b23.tv/VVhmXSp

配置对应的驱动引脚

到此,驱动库配置完成

在main.cpp中添加程序

实例程序

LCD背光需要根据实际电路来设置,PMOS驱动的设置0为最亮,NMOS则1为最亮

#include <Arduino.h>
#include <TFT_eSPI.h>TFT_eSPI tft = TFT_eSPI();#define LCD_BL_PIN 5                                       // LCD背光引脚
#define LCD_BL_PWM_CHANNEL 0                               // PWM通道,高速(0 ~ 7)80MHz时钟驱动,低速(8 ~ 15)1MHzvoid setup() {//设置背光ledcSetup(LCD_BL_PWM_CHANNEL, 1000, 8);                //设置通道,频率,分辨率ledcAttachPin(LCD_BL_PIN, LCD_BL_PWM_CHANNEL);         //设置引脚ledcWrite(LCD_BL_PWM_CHANNEL, (int)(0 * 255));         //设置亮度,PMOS驱动//初始化tft.init();tft.setRotation(1);                                    //设置屏幕方向,0 1 2 3表示顺时针旋转0 90 180 270 度tft.invertDisplay(1);                                  //颜色反转
}void loop() {tft.fillScreen(TFT_BLACK);                             //屏幕全黑tft.setCursor(0, 0, 2);                                //将“光标”设置在显示器的左上角(0,0),并选择2号字体tft.setTextColor(TFT_WHITE,TFT_BLACK);                 //将字体颜色设置为白色,背景为黑色,将文本大小倍增设置为1tft.setTextSize(1);                                    //字体大小tft.println("Hello World!");while(1);
}

TFT_eSPI使用相关推荐

  1. ESP8266/ESP32/nodeMcu/wemos D1 MINI开发板用TFT_eSPI库驱动ST7789(240*240)TFT显示屏

    ESP8266/ESP32/nodeMcu/wemos D1 MINI开发板用TFT_eSPI库驱动ST7789(240*240)TFT显示屏 材料 硬件连接 引脚连接表 引脚连接图 安装TFT_eS ...

  2. Arduino库 <TFT_eSPI> 中文字库的制作与使用

    作者学习自以下博客,经过验证,并重新整理了步骤. https://www.cnblogs.com/deng1821333144/p/15307883.html#_label2 如有需要,请访问原文章进 ...

  3. ESP32:使用TFT_eSPI库驱动TFT串口屏

    目录 实验条件 软件部分 TFT_eSPI库的安装 配置文件 硬件部分 esp32 LCD串口屏 接线方式 实验部分 参考文章 本文使用 esp32结合 TFT_eSPI库点亮了一块 ILI9341驱 ...

  4. Arduino开发-TFT_eSPI库学习

    TFT_eSPI库学习 文章目录 TFT_eSPI库学习 TFT_eSPI库安装以及配置 TFT_eSPI库文件目录 配置文件 1.User_Setup_.h 2. User_Setup_Select ...

  5. ESP8266之TFT_eSPI库的自定义字体

    目录 一.引言 二.字体生成 1.字体下载 2.字体转换 3.字体编码 三.字体使用 一.引言 说明:博主在进行TFT显示时需要显示中文字体,但是TFT库中不带有中文显示,或者显示不全,于是开展了自定 ...

  6. NodeMCU-ESP8266使用TFT_eSPI库驱动IC为ST7735的1.44寸TFT屏幕(TFT_eSPI详解)

    文章目录 1. TFT_eSPI 驱动TFT屏幕 2. TFT_eSPI详解 2.1 文件配置 2.2 类.常用函数 2.1.1 TFT_eSPI类 2.1.2 Sprite 类 3. OVERLAP ...

  7. Arduino TFT_eSPI库来驱动SPI接口的LCD显示文字详解

    Arduino TFT_eSPI库来驱动SPI接口的LCD显示详解 相关库github地址:https://github.com/Bodmer/TFT_eSPI 文字显示过程详解 TFT eSPI显示 ...

  8. LittleVGL踩坑指南03:Arduino下显示和触摸驱动配置(TFT_eSPI)

    文章版本7.10,LVGL更新极快,不同版本配置方法可能存在差异 前言   触摸搞了好几天,坑太多了,好在总算飞过来了.顺便把显示驱动也写了:提前说一下,我的硬件是2.4寸ILI9341驱动屏幕+XP ...

  9. ESP8266-Arduino编程实例-ILI9341-TFT LCD驱动(基于TFT_eSPI库)

    ILI9341-TFT LCD驱动(基于TFT_eSPI库) 液晶显示器 (LCD) 是一种平板显示器或其他电子调制光学设备,它利用液晶与偏振器的光调制特性.液晶不直接发光,而是使用背光或反射器来产生 ...

  10. Arduino框架下通过TFT_eSPI库驱动ESP32+合宙1.54“ 电子墨水屏(e-paper)显示

    Arduino框架下通过TFT_eSPI库驱动ESP32+合宙1.54" 电子墨水屏(e-paper)显示 demo演示效果 相关库 EPD_Libraries:https://github ...

最新文章

  1. constraintlayout布局新特性_安卓ConstraintLayout布局
  2. linux系统调用理解之摘录(3)
  3. linux设备驱动模型之 kset原理与实例分析
  4. 字典、列表、元祖、字符串的综合(1)
  5. tf input layer
  6. 乘风破浪的Seq2Seq模型:在事件抽取上的应用
  7. MySQL基本操作命令和数据表高级操作
  8. java centertoscreen_java screen的配置详解及注意事项
  9. 如何在结构体里面套结构体_Rust 学习笔记-13 Rust 结构体
  10. Oracle连接数据库的方式
  11. 查看linux服务器内存使用情况,不够时创建Swap、手动 cached
  12. js实现的笛卡尔乘积-商品发布
  13. python飞机大战游戏代码_python实现飞机大战小游戏
  14. 冒险岛062mysql_冒险岛单机版062
  15. Emoji's World, 一起实现Emoji
  16. 【天光学术】项目管理论文:房地产公司项目管理运营提升措施探究(节选)
  17. MEION:锁相环锁定状态仿真与板载测试情况分析
  18. Linux上的文件类型与默认图标
  19. 三线制PT100温度变送器
  20. JAVA编写Word

热门文章

  1. WinSetupFromUSB - 超简单制作多合一系统安装启动U盘的工具
  2. Spring Cloud学习笔记(Hoxtonl版本)
  3. 如何将一个PDF文件页面进行的拆分为多个PDF文件
  4. linux单独用户挂载,关于Linux上SAMBA服务的权限问题(多用户挂载)
  5. oracle checkpoint检查点
  6. 机器学习 —— Boosting算法
  7. 数字图像处理之图像显示基础
  8. linux 下查看nginx 版本号
  9. 机器学习/Machine Learning:综述
  10. 中国摇滚乐20年来的几张唱片