当前位置: 首页 > news >正文

使用 ESP8266 + Arduino IDE + ST7789 240*240 OLED 显示屏实现显示“Hello World!”

我会带你从零开始,从安装 Arduino、配置 ESP8266 环境、接线、安装库到最终显示Hello World,全程一步到位,新手也能直接成功。

一、准备工具与材料

  1. 开发板:ESP8266MOD(ESP-12F / ESP-07 等通用)
  2. 显示屏:ST7789 1.8 寸 TFT 彩屏(最常用)
  3. 连接线:杜邦线若干
  4. 电脑 + USB 数据线
  5. 全新安装的Arduino IDE(官方最新版即可)

二、Arduino IDE安装

1.软件安装

直接下载软件安装即可

Arduino软件下载链接:https://arduino.me/download

2.库安装

2.1ESP8266库

在【文件】-> 【首选项】-> 【其他开发板管理器地址】里面添加上如下的库的链接地址,关闭并重开 Arduino。

https://arduino.esp8266.com/stable/package_esp8266com_index.json https://arduino.me/packages/esp32.json

【工具 】-> 【开发板】-> 【开发板管理器】,搜索esp8266,现在可以正常安装了(速度很快)。

2.2 TFT_eSPI库

我这里使用的是TFT_eSPI的库,当然好像还有其他的库,只是感觉TFT_eSPI的库代码写更简单一些。

在【库管理】中搜索“TFT_eSPI”然后安装即可,后面就可以包含TFT_eSPI.h,使用TFT_eSPI类的对象及函数进行字符串和图像的显示。

三、ESP8266 + ST7789显示屏硬件连接

ST7789显示屏总共有7根引脚,每根引脚功能定义及与ESP8266连线如下:

OLED 引脚ESP8266 引脚说明
VCC3.3V千万不能接 5V!会烧屏!
GNDGND共地
SDAGPIO13SPI 数据
SCLGPIO14SPI时钟
RESGPIO2复位
DCGPIO12数据/命令
BLK3.3V 或不接背光

注意:ST7789 只能用 3.3V 供电,接 5V 会直接烧坏屏幕!

四、代码实现

1. 选择开发板

打开 Arduino -> 【工具】-> 【开发板】-> 【ESP8266 Boards 】 -> 能看到Generic ESP8266 Module,说明核心已装好并选择。

2. 开启ST7789显示屏驱动,并在代码中配置引脚

打开TFT_eSPI.h文件,可以发现头文件包含了User_Setup_Select.h文件,继续打开该文件。

可以发现User_Setup_Select.h又包含了User_Setup.h文件,并且在User_Setup_Select.h的下方定义了各种驱动所对应的包含文件。

打开User_Setup.h文件,可以发现,这里才是定义了各种驱动宏文件的位置,首先把我们需要的ST7789宏打开

这里的TFT_RGB_ORDER就是显示屏的RGB的排布顺序,如果后面发现屏幕填充颜色不符合预期,就可以调节这里,其次下面的TFT_WIDTH/TFT_HEIGHT是定义显示屏的宽高的,因为我们马上只接在初始化TFT_eSPI类对象的时候就强指定屏幕宽高,这里可以不用定义。

接下来就是在代码中定义ESP8266MOD ↔ ST7789 接线,按照我们的硬件接线,因为ST7789没有片选线,所以不用打开,屏幕背光也可以选择性打开,我们这里也不打开。至此,代码配置上的工作已经完成。

3. 使用TFT_eSPI类编写显示字符的代码

下面就可以开始使用TFT_eSPI类对象进行字符串的显示,首先定义一个类对象,然后先调用begin进行初始化,随后调用fillScreen填充颜色,设置字体颜色及大小,最后调用printf进行字符串的显示,随后显示效果如下。

#include "TFT_eSPI.h" #include <string> #include "pic.h" TFT_eSPI TFT(240, 240); void slowPrint(String str) { for(int i=0;i<str.length();i++) { TFT.print(str[i]); delay(100); } } void slowPrint1(std::string str) { for(int i=0;i<str.size();i++) { TFT.print(str[i]); delay(100); } } void setup() { // put your setup code here, to run once: TFT.begin(); TFT.fillScreen(TFT_BLACK); TFT.setTextColor(TFT_GREEN); TFT.setTextSize(3); 直接调用printf接口进行显示字符串 TFT.printf("Helloworld"); // 调用自己的接口实现慢打印 // slowPrint("Helloworld"); // 显示图片 //TFT.pushImage(0,0,240,240,gImage_test,1); } void loop() { // put your main code here, to run repeatedly: }

五、常见问题

1. 屏幕不亮

  • 检查 BLK 接 3.3V
  • 检查 VCC 是 3.3V,不是 5V

2. 亮屏但不显示文字

  • 检查 SCL/SDA 不要接反
  • 检查 CS、DC、RES 接线
  • 屏幕驱动是否配置有问题(User_Setup.h中是否开启了ST7789宏定义)
http://www.jsqmd.com/news/779933/

相关文章:

  • 应对2026算法更新:告别逻辑断层,10款论文降AI工具实测盘点
  • 构建内容生成流水线时如何集成Taotoken实现模型自动选型
  • mem.net:.NET高性能内存数据结构实战与优化指南
  • 实战指南:基于OpenClaw框架为企业微信接入AI智能体
  • 2026现阶段混凝土预制光伏配重墩专业制造商推荐:宣化区岩清水泥制品厂 - 2026年企业推荐榜
  • General Translation:基于组件翻译的React国际化新范式
  • 2026年现阶段,丰台区市政工程检查井盖板优质供应商深度解析 - 2026年企业推荐榜
  • Archlinux微信中文输入法问题
  • Alfred集成Ollama:打造macOS本地AI无缝工作流
  • Git Worktree管理器:提升多分支并行开发效率的Rust工具
  • Random Forest 涨点改进|全网独家复现|特征增强 + 可解释性优化,助力血细胞异常检测临床级精准识别
  • Jmeter 分布式压测常见坑以及解决方案
  • 2026绍兴GEO优化公司实测对比:服务与效果验证亲历分享
  • 2026年郑州薄膜开关面板供应商深度解析:如何选择一体化解决方案伙伴? - 2026年企业推荐榜
  • 【2026年5月渠道认证】卖家精灵折扣码:SZYM72 / SZYM78 / SZYM90 - 易派
  • ESP32物联网入门:用MicroPython和MicroDot做个能网页控制的智能灯(附完整代码)
  • 对话智能分析引擎:从聊天记录到知识库的NLP与向量搜索实践
  • 2026现阶段青岛高端旅游包车服务深度观察:云尚景国际旅行社如何定义专业标准 - 2026年企业推荐榜
  • 2026年至今,如何选择手机维修培训机构?指南舟案例深度剖析 - 2026年企业推荐榜
  • 大模型未来趋势展望——从技术突破到生态共赢
  • 商业应用(15)合规发票管理系统—东方仙盟练气期
  • AI 盲人导航眼镜系统|全网独家复现|YOLO + 光流 + 状态机联合涨点,盲道 / 红绿灯 / 障碍物全场景精准感知
  • Cortex-A75性能监控架构与调试实践
  • 2026年当下,云南PC耐力板选购指南:为何高玛阳光板备受青睐? - 2026年企业推荐榜
  • 金融研究AI智能体:文献综述技能部署与高效使用指南
  • R语言本地大模型应用指南:ollamar包集成Ollama实战
  • 2026年5月正规的黄岛区上门修空调中心哪家靠谱厂家推荐榜,[变频空调维修、中央空调维修、定频空调加氟、空调电路检修、空调移机服务]厂家选择指南 - 海棠依旧大
  • 初识 Kubernetes 后如何快速安装?
  • Hugging Face Datasets库实战:高效数据处理与多模态支持
  • 构建可编程.NET内存分析工具:从原理到实战