【ESP8266】驱动1.54寸水墨屏实战教程:操作示例与指南
esp8266使用adruino的GxEPD2库,驱动1.54寸 152*152 水墨屏简单使用演示
使用材料
- esp8266开发板
- 中景圆的1.54寸水墨屏模块
- 若干线材
开发环境
- vscode
- Platform-IO
- arduino框架
连线方式
SCL —> D5
SDA —> D7
RES —> D1
DC —> D2
CS —> D3
BUSY —> D4
使用流程
- 新建工程
- 添加填写项目名称,选择开发板为esp8266 12E,framework选择arduino,并选择自定义工程位置,点击flish
加载完成后选择是,即可完成新建项目
- 接下来需要添加GxEPD2库
根据上面的步骤,搜索到库以后,添加到需要的工程里面
添加完成会自动打开这个platfromio.ini的配置文件,可以看到,已经添加了需要的库。
返回工作文件目录,找到下面例程
我选择的是一个GxEPD2_HelloWorld示例工程,将里面的文件全选,然后复制,粘贴到工程的src文件目录下
修改GxEPD2_HelloWorld.ino文件的名称,将后缀改为cpp即GxEPD2_HelloWorld.cpp,打开这个文件,然后在导入头文件#include <Arduino.h>,在setup()函数上面添加void helloWorld();函数声明,因为这个不是在arduino ide里面,所有需要声明,才能调用得到。
打开GxEPD2_display_selection_new_style.h文件,找到#define GxEPD2_DRIVER_CLASS GxEPD2_213_B74 // GDEM0213B74 122×250, SSD1680, FPC-7528B)这一行代码,然后取消注释。使用这个主要是因为,这个使用的是SSD1680驱动,跟1.54寸水墨屏的驱动一样。
按住Ctrl键,然后用鼠标点击GxEPD2_213_B74,进入这个类中,修改宽和高为152,如图所示
返回之前的文件:GxEPD2_display_selection_new_style.h,将代码往下滑,找到水墨屏的功能控制引脚设置,这里的引脚应该是可以随意映射的,我这里使用的是上面标注的
其他的引脚自己测试,有可能会出现烧录代码后,上电开机,设备处于等待烧录的模式,无法正常使用,例如使用D8为复位脚时,就会出现问题,原因可能是因为如图,
在vscode窗口的左下部分,找到向右的→,编译后上传
编译完成后,会自动下载到设备,记得电脑先链接设备,esp8266开发板链接好屏幕
注意:ESP8266开发板使用的是usb串口下载的,需要提前安装好对应的串口驱动,避免找不到设备,从而下载失败
下载完成,试一试按下开发板的RST键有没有反应,如果没有反应,就断开usb线,重新上电
回到主程序文件,修改void helloWorld()函数内的display.setRotation(0);里的参数为0,可以改变屏幕的显示方向。
总结
- 使用GxEPD2可以很轻松的点亮1.52寸的水墨屏
- 经过我做的其他测试,根据此方法,可以实现esp32 S3驱动这块屏幕,但是记得重新初始化SPI,esp32 S3中,我使用的是HSPI,好像对应的是SPI2,修改display.init为如图所示,只添加一个参数,如图所示,即可如esp8266一样,驱动这个水墨屏。
- 我有另一块一样的1.54寸的水墨屏hink-e0154a05-a2,但是分辨率为200200,使用的驱动是SSD1608,所以只要在GxEPD2_display_selection_new_style.h文件中找到使用SSD1608的示例,然后修改分辨率为200200,依然使用中景圆的这个1.54的模块,换掉上面的屏幕为当前的200*200的屏幕,就可以正常驱动使用。
作者:欧小红同学