0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ESP32使用Arduino_GFX点亮1.54寸IPS全视角TFT屏幕

jf_Ufm3lVrj 来源:凌顺实验室 2024-03-21 11:38 次阅读

实验效果

凌顺实验室(lingshunlab.com)在本示例中,主要运行Arduino_GFX库的Hello World的程序。

该库还有很多有趣的示例,涵盖了现实GIF,PNG,JPEG,Mjpeg等格式的图片,还有LVGL这个强大的UI库,可以在示例中一一查看学习。

以下图片就是程序运行后TFT屏幕显示的画面,程序是不断的把「Hello LingshunLAB.com」这句字符串随机在屏幕上叠加显示。

97b581bc-e733-11ee-a297-92fbcf53809c.png

引脚说明

模块引脚 引脚说明
GND 液晶屏电源
VCC 液晶屏电源正(3.3V)
SCL 液晶屏SPI总线时钟信号
SDA 液晶屏SPI总线写数据信号
RES 液晶屏复位控制信号(低电平复位)
DC 液晶屏寄存器/数据选择控制信号(低电平:寄存器,高电平:数据)
CS 液晶屏片选控制信号(低电平使能)
BLK 液晶屏背光控制信号(高电平点亮,如不需要控制,请接3.3V)

BOM

名称 数量
ESP32 开发板 x1
ST7789 1.54' x1
跳线(杜邦线) 若干

接线

97e2346e-e733-11ee-a297-92fbcf53809c.png

安装库

方法一:通过Arduino IDE 2 的安装方法

1,点击Library

2,搜索框输入「GFX Library for Arduino」

3,点击「INSTALL」进行安装

4,安装完成后,该库的名称旁边会显示「INSTALLED」

981e5fc0-e733-11ee-a297-92fbcf53809c.png

方法二:GITHUB 仓库下载安装方法

1,首先到GITHUB下载「GFX Library for Arduino」:https://github.com/moononournation/Arduino_GFX

2,解压

3,把解压的文件放进Arduino IDE的libraries文件夹

程序提点

加载 Arduino_GFX_Library 库

#include 

配置使用的开发板

在本示例中使用的是ESP32,

并且使用的是VSPI 的硬件SPI引脚,

根据接线图,使用以下代码进行开发板的配置:

/* More data bus class:  */
//Arduino_DataBus *bus = create_default_Arduino_DataBus();
Arduino_DataBus *bus = new Arduino_ESP32SPI(13 /* DC */, 5 /* CS */, 18 /* SCK */, 23 /* MOSI */, GFX_NOT_DEFINED /* MISO */, VSPI /* spi_num */);

更多的开发板配置参考:https://github.com/moononournation/Arduino_GFX/wiki/Data-Bus-Class

ESP32 GPIO口大全:https://lingshunlab.com/book/esp32/esp32-pinout-reference

配置TFT屏幕

本示例,使用的是ST7789系列240x240分辨率的TFT屏幕,根据接线进行如下配置:

/* More display class:  */
Arduino_GFX *gfx = new Arduino_ST7789(
  bus, 14 /* RST */, 0 /* rotation */, true /* IPS */,
  240 /* width */, 240 /* height */,
  0 /* col offset 1 */, 0 /* row offset 1 */);

代码

通过示例代码中,可以找到HelloWorld的例子

9852901a-e733-11ee-a297-92fbcf53809c.png

以下是修改配置代码后的,合适ESP32的开发板连接ST7789系列240x240分辨率的代码:

// welcome to www.lingshunlab.com
// 

#include 

#define GFX_BL 12 // default backlight pin, you may replace DF_GFX_BL to actual backlight pin

/* More data bus class:  */
//Arduino_DataBus *bus = create_default_Arduino_DataBus();
Arduino_DataBus *bus = new Arduino_ESP32SPI(13 /* DC */, 5 /* CS */, 18 /* SCK */, 23 /* MOSI */, GFX_NOT_DEFINED /* MISO */, VSPI /* spi_num */);

/* More display class:  */
Arduino_GFX *gfx = new Arduino_ST7789(
  bus, 14 /* RST */, 0 /* rotation */, true /* IPS */,
  240 /* width */, 240 /* height */,
  0 /* col offset 1 */, 0 /* row offset 1 */);

/*******************************************************************************
 * End of Arduino_GFX setting
 ******************************************************************************/

void setup(void)
{
    gfx->begin();
    gfx->fillScreen(BLACK);

#ifdef GFX_BL
    pinMode(GFX_BL, OUTPUT);
    digitalWrite(GFX_BL, HIGH);
#endif

    gfx->setCursor(10, 10);
    gfx->setTextColor(RED);
    gfx->println("Hello LingshunLAB.com!");
    delay(5000); // 5 seconds
}

void loop()
{
    gfx->setCursor(random(gfx->width()), 20+random(gfx->height()));
    gfx->setTextColor(random(0xffff), random(0xffff));
    gfx->setTextSize(random(6) /* x scale */, random(6) /* y scale */, random(2) /* pixel_margin */);
    gfx->println("Hello LingshunLAB.com!");

    delay(1000); // 1 second
}



审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    30

    文章

    5032

    浏览量

    117745
  • SPI总线
    +关注

    关注

    4

    文章

    100

    浏览量

    27442
  • GPIO
    +关注

    关注

    16

    文章

    1135

    浏览量

    50580
  • Arduino
    +关注

    关注

    184

    文章

    6428

    浏览量

    184846
  • TFT屏
    +关注

    关注

    0

    文章

    17

    浏览量

    5632

原文标题:ESP32 使用Arduino_GFX点亮1.54寸IPS全视角TFT屏幕(ST7789系列 240×240)

文章出处:【微信号:凌顺实验室,微信公众号:凌顺实验室】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何在Esp32s开发板去实现一种点亮2.8TFT LCD屏幕的设计

    如何在Esp32s开发板去实现一种点亮2.8TFT LCD屏幕的设计?其过程是怎样的?
    发表于 11-03 07:25

    ESP32-CAM使用Arduino编译烧录

    ESP32-CAM拍照输出jpeg,解码为rgb565在tft屏显示ESP32-CAM使用Arduino编译烧录,STM32使用keil5编译。
    发表于 01-12 06:30

    ips屏幕笔记本推荐_ips屏幕笔记本详解

    IPS屏幕技术是日立公司于2001推出的液晶面板技术,俗称“Super TFT”。IPS屏幕就是基于TF
    发表于 12-05 16:41 4970次阅读
    <b class='flag-5'>ips</b><b class='flag-5'>屏幕</b>笔记本推荐_<b class='flag-5'>ips</b><b class='flag-5'>屏幕</b>笔记本详解

    ips屏幕优点与缺点介绍

    IPS技术是日立公司于2001推出的液晶面板技术,俗称“Super TFT”。针对IPS屏幕是什么意思的问题,IPS
    发表于 12-11 09:53 2.2w次阅读

    ESP321.54寸彩屏的应用

    ESP32不仅仅是一颗WIFI\蓝牙MCU,一颗芯能搞定连接,更能驱动屏幕,高性价比。目前彩屏应用已经是大势所趋了,1.54寸彩屏可以通过启明云端的ESP32来驱动,可做时钟显示,也可
    发表于 04-26 09:56 1376次阅读

    ESP32可驱动哪些屏幕

    继前文所述,ESP32可驱动1.54寸,2.4寸,3.5寸等屏幕,真的是无所不能。不仅如此,ESP32还可以驱动320*320分辨率4寸彩屏(经济型86面板DEMO),通过SPI/QS
    发表于 04-26 10:31 1.1w次阅读

    esp32arduino的区别,esp32能否替代arduino

    很多创客爱好者甚至有些技术工程师在理解esp32arduino的时候总是问一句这两块板子哪个更好用?他们可能潜意识中就觉得arduinoesp32是竞品的关系,但实际是这样吗?今天
    发表于 06-24 17:11 2.4w次阅读

    ESP32 开发之旅② Arduino For ESP32说明

    文章目录1. Arduino Core For ESP32是什么?2.Arduino core for ESP32库3.与ESP8266库类
    发表于 11-13 19:51 33次下载
    <b class='flag-5'>ESP32</b> 开发之旅② <b class='flag-5'>Arduino</b> For <b class='flag-5'>ESP32</b>说明

    使用Arduino开发ESP32-01S

    使用Arduino开发ESP32-01S
    发表于 12-03 18:06 16次下载
    使用<b class='flag-5'>Arduino</b>开发<b class='flag-5'>ESP32</b>-01S

    ESP32 TFT合路器V1开源分享

    电子发烧友网站提供《ESP32 TFT合路器V1开源分享.zip》资料免费下载
    发表于 07-11 15:54 2次下载
    <b class='flag-5'>ESP32</b> <b class='flag-5'>TFT</b>合路器V1开源分享

    DIY ESP32 SPI TFT屏蔽

    电子发烧友网站提供《DIY ESP32 SPI TFT屏蔽.zip》资料免费下载
    发表于 07-12 10:14 1次下载
    DIY <b class='flag-5'>ESP32</b> SPI <b class='flag-5'>TFT</b>屏蔽

    ESP32 S3 TFT Combiner V1设计案例

    电子发烧友网站提供《ESP32 S3 TFT Combiner V1设计案例.zip》资料免费下载
    发表于 08-22 15:43 6次下载
    <b class='flag-5'>ESP32</b> S3 <b class='flag-5'>TFT</b> Combiner V1设计案例

    基于ESP32模块的便携式IoT显示器

    方案介绍这是一个便携式的 IoT 显示器项目,本教程为如何使用 2 英寸 LCD 和 ESP32 制作便携式物联网显示器,可以基于它和Arduino_GFX 库开发出各种实用工具。例如 WiFi
    发表于 12-27 15:58 0次下载

    Arduino IPS TFT显示项目

    电子发烧友网站提供《Arduino IPS TFT显示项目.zip》资料免费下载
    发表于 02-03 11:44 0次下载
    <b class='flag-5'>Arduino</b> <b class='flag-5'>IPS</b> <b class='flag-5'>TFT</b>显示项目

    ESP32+TFT零基础保姆级教学,一步步从接线到编程实践

    ESP32板,通过TFT_ESPI库,轻松地点亮TFT屏幕。 其中也附上好玩的案例,代码也开源给大家了,文章最下方就是了。 我的
    的头像 发表于 08-07 17:36 4964次阅读
    <b class='flag-5'>ESP32+TFT</b>零基础保姆级教学,一步步从接线到编程实践