ESP32 PlatformIO 使用 GxEPD2驱动 Hink-E042-A0 4.2 寸三色墨水屏

0. 前言

咸鱼淘了块4.2寸的三色墨水屏,效果不错,但是没直接找到适配的库,搁置了一段时间。

后来在测试2.13寸三色墨水屏的时候,还是找到了可以直接用的库。

GxEPD2库经过些许改装,还是可以直接用的

**墨水屏IC:Hink-E042-A0
主控:ESP32-C3

在这里插入图片描述

如上图所示,没用什么有用的信息,甚至AI都觉得这是一款2.13寸的墨水屏。

1. 工程配置

工程创建过程已经写过,在此不多赘述PlatformIO中ESP8266使用GxEPD库和U8G2库驱动 2.9寸黑白墨水屏显示中文注意!!!这次安装的库是GxEPD2而非GxEPD

将platformio.ini文件全部换成以下内容,可以确保完成后续操作。你也可以换成你的其他开发板。
platformio.ini

[env:esp32-c3-devkitm-1]
platform = espressif32
board = esp32-c3-devkitm-1
framework = arduino
monitor_speed = 115200
board_build.flash_mode = dio
lib_deps = 
    zinggjm/GxEPD2@^1.5.0
	olikraus/U8g2_for_Adafruit_GFX@^1.8.0
build_flags =
    -D ARDUINO_USB_MODE=1
    -D ARDUINO_USB_CDC_ON_BOOT=1

2. 修改GxEPD2库

经过我的测试,如果直接使用以下代码进行初始化,可以初始化一部分屏幕,也就是2.13寸的位置,可以清楚的看到,GxEPD2_213_Z98c 这个名字是一个2.13寸的墨水屏。

你也可以用下面的代码进行初始化,不过记得要修改引脚。如果你的默认SPI引脚被占用,要创建新的SPI类来初始化。

#include <GxEPD2_3C.h>

GxEPD2_3C<GxEPD2_213_Z98c, GxEPD2_213_Z98c::HEIGHT> display(GxEPD2_213_Z98c  (SS, 10, 3, 2));

打开工程目录下的这个文件,这个可以直接驱动,但是只会刷新一部分。

Epaper_Demo9\.pio\libdeps\esp32-c3-devkitm-1\GxEPD2\src\epd3c\GxEPD2_213_Z98c.h

现在来修改,让它能刷新更多内容。将这个类中的变量值修改成与我相同,这个将直接影响到屏幕的大小:

在这里插入图片描述
现在上传上去,会发现有一块区域无法刷新,这个是初始化命令的参数不对造成的
SSD1683芯片驱动手册

在第42页,可以看到设别初始化的过程:

    1. 硬件复位,等待至少10ms等待硬件复位完成。
    1. 软件复位,发送命令 0x12 进行复位,然后等待至少10ms,等待复位完成。
    1. 发送初始化命令,这个待会细讲
    1. 加载波形 LUT
    1. 写入图像和驱动器显示面板;
    1. 深度睡眠模式,这个不用管,咱们用不到。
      在这里插入图片描述

现在打开 GxEPD2_213_Z98c.cpp,查看命令表

  • 0x01 :控制行数。
  • 0x11 :设置显示器方向。
  • 0x3C :设置边界颜色 0x01黑 0x00白色。
  • 0x18 :VCOM、温度相关 一般写入0x00或者0x80。
  • 0x44 :RAMx设置命令,接下来的两个字节的数据是x的起始位置和终点位置。
  • 0x45 :RAMy设置命令,接下来的四个字节的数据是y的其实位置和终点位置,但由于y是向下计数,所以有四个字节。
  • 0x4E :RAMx设置命令,接下来的一个字节是RAMx的计数初值。
  • 0x4F :RAMy设置命令,接下来的两个字节是RAMy的计数初值和计数终值。

找到下面这个代码,替换以下内容:

  _writeCommand(0x01); //Driver output control
  _writeData(0xF9);
  _writeData(0x00);
  _writeData(0x00);

更改为:

  _writeCommand(0x01); //Driver output control 控制行数
  _writeData(0x2B);
  _writeData(0x01);
  _writeData(0x00);

注意!!!不要全换
在这里插入图片描述

3. 使用效果

使用效果如下,看多了黑白墨水屏,感觉红色还不错:
在这里插入图片描述

  • 29
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IoT_H2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值