使用 ESP8266 + Arduino IDE + ST7789 240*240 OLED 显示屏实现显示“Hello World!”
我会带你从零开始从安装 Arduino、配置 ESP8266 环境、接线、安装库到最终显示Hello World全程一步到位新手也能直接成功。一、准备工具与材料开发板ESP8266MODESP-12F / ESP-07 等通用显示屏ST7789 1.8 寸 TFT 彩屏最常用连接线杜邦线若干电脑 USB 数据线全新安装的Arduino IDE官方最新版即可二、Arduino IDE安装1.软件安装直接下载软件安装即可Arduino软件下载链接https://arduino.me/download2.库安装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 i0;istr.length();i) { TFT.print(str[i]); delay(100); } } void slowPrint1(std::string str) { for(int i0;istr.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不是 5V2. 亮屏但不显示文字检查 SCL/SDA 不要接反检查 CS、DC、RES 接线屏幕驱动是否配置有问题User_Setup.h中是否开启了ST7789宏定义
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2596363.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!