首页 » 科学 » ESP32彩屏显示入门:我要五彩斑斓的黑还有五光十色的白_彩屏_接线

ESP32彩屏显示入门:我要五彩斑斓的黑还有五光十色的白_彩屏_接线

admin 2024-08-30 22:27:58 0

扫一扫用手机浏览

文章目录 [+]

众所周知,掌控板在创客教诲中用的非常广泛,它是一块基于 ESP32 的学习开拓板。
大家对掌控板编程,用的比较多的都是图形化编程的办法,比如 mPython、Mind+ 等。
但是,既然掌控板是基于 ESP32 芯片的,以是我们也可以用 Arduino 软件对其编程。
以是,有韶光的话,我准备给大家分享一系列用 Arduino 代码对掌控板(ESP32)编程的教程:用 Arduino 玩转 ESP32 与掌控板系列。

本系列历史文章目录:

ESP32彩屏显示入门:我要五彩斑斓的黑还有五光十色的白_彩屏_接线 ESP32彩屏显示入门:我要五彩斑斓的黑还有五光十色的白_彩屏_接线 科学

ESP32 概述与 Arduino 软件准备:https://mc.dfrobot.com.cn/thread-303267-1-1.html掌控板IO接口编程入门:https://mc.dfrobot.com.cn/thread-304625-1-1.html蓝牙翻页笔(PPT 掌握器):https://mc.dfrobot.com.cn/thread-303369-1-1.html新冠肺炎疫情数据实时显示器:https://mc.dfrobot.com.cn/thread-302926-1-1.htmlB 站粉丝计数器:https://mc.dfrobot.com.cn/thread-303095-1-1.htmlSiri 语音识别掌握 LED 灯:https://mc.dfrobot.com.cn/thread-304185-1-1.htmlSiri 语音识别获取传感器数据:https://mc.dfrobot.com.cn/thread-304292-1-1.html

不好意思,本期课程用了那么杀马特的封面,但是这张图却充分表达了彩屏的特点:可以显示五彩斑斓的颜色。

ESP32彩屏显示入门:我要五彩斑斓的黑还有五光十色的白_彩屏_接线 ESP32彩屏显示入门:我要五彩斑斓的黑还有五光十色的白_彩屏_接线 科学
(图片来自网络侵删)
# 概述

一贯在关注本系列教程的朋友,该当知道,前面几期课程,我们基本用到了掌控板自带的 OLED 显示屏来显示内容,但是掌控板自带的 OLED 显示屏是一块单色屏,看久了单色显示屏,你是不是有点腻了呢?

以是从本期内容开始,我将通过几篇教程,带大家玩转彩色显示屏。
本篇是彩屏显示的第一期:ESP32彩屏显示入门:我要五彩斑斓的黑,通过本篇课程内容的学习,我将带大家入门彩屏的利用。

由于掌控板上已经连接了一块屏幕了,以是本期课程利用的硬件不是掌控板,而是另一块 ESP32 开拓板:DFRobot 出品的 FireBeetle-ESP32。
关于这块开拓板的先容,我在这个系列的第一期就已经先容过了,大家可以直接去第一期。

为什么选择这块开拓板呢?由于 DFRobot 专门为这块开拓板设计了大略方便的扩展板,因此在后面项目接线的时候,就会特殊方便;而且 DFRobot 还为它设计了好看的矢量图,作为一个颜值控,后续绘制接线图怎么能少得了它!
当然最主要的一个缘故原由是,我手里除了掌控板,就这么一块 ESP32 的开拓板……(这么牵强的情由,你来打我呀)

如果你选择的是其他 ESP32 开拓板,也是没有问题的,接线方法和程序也是完备兼容的。

# 常用彩屏先容

有了 ESP32 开拓板,那么又有哪些彩屏可以利用呢?不管是从尺寸、分辨率、驱动芯片类型,实在是有非常多的选择的。
最常用的一些彩屏尺寸有 1.5 寸、2.0 寸、2.4 寸、2.8 寸、3.2 寸等;分辨率类型有:128×160、240×240、240×320 等;驱动芯片型号有 ST7735、ST7789、ILI9341 等。
如下图所示,即为一些创客制作中常见的彩屏。

(图片来自 Instructables:Select Color Display for ESP32)

想要理解详细的彩屏选型,可以直接去 Instructables 上看下面这篇评测文章,写的非常详细,这里不再重复造轮子了。

Select Color Display for ESP32:

https://www.instructables.com/id/Select-Color-Display-for-ESP32/

在本期教程中,我利用的是一款 2.4 寸的 TFT_LCD 的彩屏,它的驱动芯片是 ILI9341,分辨率为 240×320,如下图所示。

这块屏幕的详细参数如下表所示:

这块彩屏采取的是 SPI 接线办法,引脚定义如下:

SPI (Serial Peripheral Interface),即串行外围设备接口,是一种高速全双工的通信总线。
实质上和前面课程用过的 UART 串口、I2C 一样,是一种通讯协议。

SPI 的通信事理很大略,它以主从办法事情,这种模式常日有一个主设备和一个或多个从设备。
SPI 通讯利用 3 条总线( SCK、MOSI、MISO)及片选线(CS 或 SS):

MISO:Master Input Slave Output,主设备数据输入,从设备数据输出;

MOSI:Master Output Slave Input,主设备数据输出,从设备数据输入;

SCK:Serial Clock,时钟旗子暗记,由主设备产生;

CS:Chip Select,从设备使能旗子暗记,由主设备掌握。

# 彩屏驱动库

针对不同的彩屏驱动芯片,常用的 Arduino 彩屏驱动库也有很多种选择,在 Arduino IDE 的库管理器中,搜索“TFT”就可以看到许多彩屏驱动库,比如:

Arduino-ST7789-Library:https://github.com/ananevilya/Arduino-ST7789-LibraryAdafruit-ST7735-Library:https://github.com/adafruit/Adafruit-ST7735-LibraryTFT_eSPI:https://github.com/Bodmer/TFT_eSPI

本教程利用的库是 TFT_eSPI,选择这个库的缘故原由有:

该库在 GitHub 上 Star 的人数比较多,而且至今还在保持生动地更新,以是可靠性、专业性比较有担保;支持各种常用的驱动芯片,比如 ST7735、ST7789、ILI9341 等,兼容性比较好;听说这个库的性能也是最出色的。
这里我没有详细讲求与测试,而且对大部分用户来说也不主要。

后面的彩屏系列教程,如无分外解释,我们就以这个库为例。

# TFT_eSPI 库文件安装

在 Arduino 中打开库管理器,搜索 TFT_eSPI,然后点击安装即可。

TFT_eSPI 库虽然有很多上风,但是针对普通用户可能也有一个比较麻烦的地方,那便是安装完这个库之后,我们须要针对不同的彩屏,对这个库进行一些配置才能利用。

转到 Arduino 库文件安装目录,打开 TFT_eSPI 库所在位置,以 Windows 系统为例,该库的安装目录一样平常为:

C:\<用户名>\Documents\Arduino\libraries\TFT_eSPI

如果是你利用的是绿色版 Arduino 的话,该库的安装目录一样平常为:

<Arduino>\portable\sketchbook\libraries\TFT_eSPI

然后在库文件目录中打开 User_Setup.h 这个文件,根据自己的屏幕类型与驱动芯片类型进行相应的设置,这里以我利用的 2.4 寸 ILI9341 TFT LCD 彩屏为例。
如果你有耐心的话,想要仔细研究各种设置选项的话,也可以仔细阅读这个文件中的解释,按照它的示例进行设置即可;如果你嫌一堆英文看起来比较麻烦的话,直接按照我的教程设置也是可以的。

首先须要设置的是彩屏的驱动芯片类型,这块彩屏利用的驱动芯片为 ILI9341,以是这里我们注释掉其他芯片,只留下 #define ILI9341_DRIVER 这行,如下图所示:

接着设置彩屏连接的 IO 引脚,先注释掉下图中所示的默认引脚设置:

然后将引脚设置修正为:

// FireBeetle ESP32#define TFT_MISO 19#define TFT_MOSI 23 // fixed pin, SDA -> MOSI (IO23)#define TFT_SCLK 18 // fixed pin, SCL -> SCK (IO18)#define TFT_CS 27 // Chip select control pin D4 (IO27)#define TFT_DC 25 // pin of your choice D2 (IO25)#define TFT_RST 26 // pin of your choice D3 (IO26)

如下图所示:

修正完成后的 User_Setup.h 文件如下:

# 接线图

根据前面 TFT_eSPI 驱动库的设置,ESP32 与 彩屏的接线也比较大略,只要按照代码中对应接线即可。

把稳:此处代码中的引脚编号,我利用了 IOx 的编号,而不是 Dx 的编号形式,由于 IOx 编号的形式针对所有 ESP32 开拓板都适用。
FireBeetle-ESP32 开拓板的 IOx 与 Dx 编号对应关系如下图所示:

接线图如下:

# Hello,彩屏

所有这些都设置完成之后,我们就可以愉快地编写程序、查看效果啦!

为了更快的体验彩屏的显示效果,本篇暂时先不讲解彩屏的编程与代码,我给大家先上传 TFT_eSPI 库自带的一些示例程序,看看效果。
彩屏示例程序的路径为:

Arduino菜单栏→文件→示例→TFT_eSPI

如下图所示:

然后随便挑选几个示例程序,上传到 ESP32 中 查看效果。

把稳:把稳由于我把视频转成了 GIF,以是看起来可能轻微有点卡顿,实际效果是很顺滑的。

显示不同颜色笔墨效果

显示钟表效果

几何图形与屏幕方便变革效果

黑客帝国代码雨效果

图形变革效果

立体图形显示效果

七彩笔墨显示效果

参数跑分显示效果

看完这些“五彩斑斓的黑”,是不是立时想要入手一块彩屏、然后编写代码玩玩呢?别急,下期教程,正式教你彩屏代码编程!

# 总结

在本章中,我们学习了:

常见的彩屏类型与常用的彩屏驱动库;TFT_eSPI 驱动库的设置方法;彩屏与 ESP32 的接线方法;上传程序,查看彩屏的显示效果。

这只是彩屏系列的入门篇,后面还会再写几篇专门对彩屏的编程进行详细先容,感兴趣的话,可以收藏点赞,我们下期见!

标签:

相关文章

51单片机复位后的状态_存放器_单片机

值得指出的是,记住一些分外功能寄存器复位后的紧张状态,对付理解单片机的初态,减少运用程序中的韧始化部分是十分必要的。解释:表中符号...

科学 2025-01-13 阅读0 评论0