TFT_eSPI使用

这篇具有很好参考价值的文章主要介绍了TFT_eSPI使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考: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

TFT_eSPI使用,esp32,PIO,单片机,单片机,Powered by 金山文档

取消使用默认路径

TFT_eSPI使用,esp32,PIO,单片机,单片机,Powered by 金山文档

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

TFT_eSPI使用,esp32,PIO,单片机,单片机,Powered by 金山文档

打开工程

TFT_eSPI使用,esp32,PIO,单片机,单片机,Powered by 金山文档

选择创建的工程即可

TFT_eSPI使用,esp32,PIO,单片机,单片机,Powered by 金山文档

成功打开

TFT_eSPI使用,esp32,PIO,单片机,单片机,Powered by 金山文档

主程序

TFT_eSPI使用,esp32,PIO,单片机,单片机,Powered by 金山文档

获取TFT-eSPI

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

TFT_eSPI使用,esp32,PIO,单片机,单片机,Powered by 金山文档

解压压缩包

TFT_eSPI使用,esp32,PIO,单片机,单片机,Powered by 金山文档
TFT_eSPI使用,esp32,PIO,单片机,单片机,Powered by 金山文档

在工程中添加TFT_eSPI库

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

TFT_eSPI使用,esp32,PIO,单片机,单片机,Powered by 金山文档

修改文件夹名字

TFT_eSPI使用,esp32,PIO,单片机,单片机,Powered by 金山文档

vscode自动识别并添加到工程

TFT_eSPI使用,esp32,PIO,单片机,单片机,Powered by 金山文档

进入TFT_eSPI目录

TFT_eSPI使用,esp32,PIO,单片机,单片机,Powered by 金山文档

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

打开User_Setup_Select.h,注释掉30行

TFT_eSPI使用,esp32,PIO,单片机,单片机,Powered by 金山文档

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

TFT_eSPI使用,esp32,PIO,单片机,单片机,Powered by 金山文档

进入User_Setups目录,打开Setup24_ST7789.h

TFT_eSPI使用,esp32,PIO,单片机,单片机,Powered by 金山文档

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

TFT_eSPI使用,esp32,PIO,单片机,单片机,Powered by 金山文档

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

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

TFT_eSPI使用,esp32,PIO,单片机,单片机,Powered by 金山文档

注释NodeMCU单片机引脚定义

TFT_eSPI使用,esp32,PIO,单片机,单片机,Powered by 金山文档

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

TFT_eSPI使用,esp32,PIO,单片机,单片机,Powered by 金山文档

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

TFT_eSPI使用,esp32,PIO,单片机,单片机,Powered by 金山文档

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

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

TFT_eSPI使用,esp32,PIO,单片机,单片机,Powered by 金山文档

选择分辨率大小

TFT_eSPI使用,esp32,PIO,单片机,单片机,Powered by 金山文档

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

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

https://b23.tv/VVhmXSp

TFT_eSPI使用,esp32,PIO,单片机,单片机,Powered by 金山文档

配置对应的驱动引脚

TFT_eSPI使用,esp32,PIO,单片机,单片机,Powered by 金山文档

到此,驱动库配置完成

在main.cpp中添加程序

实例程序

LCD背光需要根据实际电路来设置,PMOS驱动的设置0为最亮,NMOS则1为最亮文章来源地址https://www.toymoban.com/news/detail-724306.html

#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)1MHz
 
void 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);                 //将字体颜色设置为白色,背景为黑色,将文本大小倍增设置为1
    tft.setTextSize(1);                                    //字体大小
    tft.println("Hello World!");

    while(1);
}

到了这里,关于TFT_eSPI使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Arduino开发-TFT_eSPI库学习

    TFT_eSPI库是通过SPI方式驱动LCD屏幕的一个Arduino库,并且支持PlatformIOIDE一键下载使用。对于Arduino模式开发的屏幕开发既便捷又稳定。 同时LVGLGUI开发的底层驱动接口也是使用TFT_eSPI库的API。 基于PlatformIO IDE 讲解。 首先在Libraries里面搜索安装TFT_eSPI库到你的工程文件里面。 TFT_

    2023年04月08日
    浏览(34)
  • 解决Arduino LVGL TFT_eSPI 屏幕偏移问题

    本教程适用于使用 TFT-eSPI 驱动屏幕(横屏!横屏!(竖屏测试没问题))显示不全的问题 基于合宙esp32c3 arduinoLVGL框架,屏幕为中景园 1.47(172x320) 1.14(135x240) 先贴两张显示不全的图片 User-Setup.h配置 在TFT-eSPI初始化函数后面 添加 按住Ctrl再点击setRotation进入(再点击右边高亮)

    2024年02月10日
    浏览(36)
  • arduino-esp32:基于TFT-eSPI库实现触摸显示屏

    在arduino的IDE上已经搭建好了ESP32环境的话,写写小应用的话还是很简单的,毕竟有这么多优秀的库。 之前用自己买的TFT屏试了一下TFT-eSPI库的驱动效果,显示效果挺好的,但是触摸一直没用上。最近有空了弄了一下。 我的屏幕是2.2寸/2.4/2.8/3.2/3.5/4.0寸TFT触摸彩色SPI串口液晶屏

    2023年04月09日
    浏览(43)
  • ESP32单片机使用DHT11温湿度传感器的实践与代码解析

    摘要:本文将介绍如何使用ESP32单片机与温湿度传感器进行连接和数据读取。通过实例代码的解析,帮助读者了解实现温湿度检测的原理和方法。 一、引言 ESP32是一款功能强大的微控制器,广泛应用于物联网、智能家居等领域。在许多应用场景中,温湿度传感器是不可或缺的

    2024年02月21日
    浏览(59)
  • GC9A01-TFT屏幕驱动(整理有stm32/51单片机/arduino等驱动代码)

           不久前我们收到用户反馈问题中,多次反馈各种不同型号的屏幕驱动不起来,从0开始编写代码花费大量时间,也有不少初次学习驱动屏幕代码编写经验过少等问题,为此我们决定以文章的形式发布到CSDN来分享相应的一些经验以及收集整理好的资料,希望可以帮助用

    2024年01月25日
    浏览(45)
  • ESP32单片机入门篇

    目录 一、ESP32单片机的基本概念 1.双核架构 2. Wi-Fi和蓝牙功能 3. 集成多种外设 4. 支持多种操作系统 二、开发环境 1. Arduino IDE 2. ESP-IDF 三、开发语言 四、注意事项 五、代码例程 (1)点亮LED灯 1. 电路图 2. 代码 3. 代码注释 4. 注意事项 (2)控制继电器 1. 电路图 2. 代码 3. 代码

    2024年02月08日
    浏览(56)
  • 单片机开发---ESP32-S3模块上手

    想起来之前做的半成品单片机游戏机,又想继续做一个,不过之前那个单片机驱动屏幕速率太低,已经无法改进了。所以这次斥巨资购买了一款顶配的ESP32S开发板,做个简单的游戏机,没问题。 完整介绍链接 这花花绿绿的介绍,看着让人甚是喜欢呢。 参考乐鑫官网的方式,

    2024年01月23日
    浏览(44)
  • 单片机项目分享 单片机(stm32)远程智能宠物喂养系统 - 物联网 esp8266

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月19日
    浏览(67)
  • esp32单片机在arduino环境下,串口接收解码

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 当主控芯片发送一串数据,但此数据为一串字符串,需要将此字符串翻译成整型数组,以形成指令,控制串口屏。 例如:esp32单

    2024年02月09日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包