项目简介
本项目是基于C++编程语言的电子纸张驱动库,用于驱动和控制Pervasive Displays公司生产的电子纸张(EPD)显示面板。它兼容Aurora(V231)或Spectra EPDs with iTC driver,适配EPD Extension Kit Gen 2 (EXT2)和EPD Extension Kit Gen 3 (EXT3),支持1.54"、2.13"等多种尺寸的EPD显示器,且在多种微控制器和开发板上完成测试。
项目的主要特性和功能
- 支持1.54" - 4.37"等多种常见规格的EPD显示器。
- 实现全局更新模式(GU),可按需共享快速和部分更新代码。
- 适配Launchpad (Tiva - C)、Arduino M0 Pro等多种微控制器和开发板。
- 提供初始化、控制和管理EPD显示器的函数与类。
- 支持BW(黑白)和BWR(黑白红)图像显示。
- 包含用于图像数据存储与处理的图像数据数组。
安装使用步骤
安装
已下载本项目的源码文件,按Arduino或Energia的说明进行安装。
硬件设置
根据不同开发板,设置SPI引脚: - Launchpad (Tiva - C) with TM4C123或MSP432P401R - EXT3:SCK = 7,BUSY = 11,D/C = 12,RST = 13,MOSI = 15,ECSM = 19 - EXT2:SCK = 7,BUSY = 8,D/C = 9,RST = 10,MOSI = 15,ECSM = 19,PNLON = 11,BS = 17 - Arduino M0 Pro:SCK = 13,BUSY = 4,D/C = 5,RST = 6,MOSI = 12,ECSM = 8;EXT2还需PNLON = 11,BS = 9 - Raspberry Pi Pico:SCK = 18,BUSY = 13,D/C = 12,RST = 11,MOSI = 19,ECSM = 17;EXT2还需PNLON = 8,BS = 7 - ESP32DevKitC:SCK = 18,BUSY = 27,D/C = 26,RST = 25,MOSI = 23,ECSM = 32;EXT2还需PNLON = 16,BS = 17
代码配置与运行
- 根据开发板类型,配置
EPD_Driver.cpp
文件中的参数,包括EPD显示器类型、开发板类型等。 - 若要在不同尺寸EPD上实现全局更新演示,修改代码中屏幕尺寸相关定义,示例如下:
```c++
//------------------------------------------------------------
// DEMO Image Set
// Screen Size: 154, 213, 266, 271, 287, 370, 420, 437
define SCREEN 271
include "globalupdate_src/demoImageData.h"
// User Mode Image Set
//#include "globalupdate_src/userImageData.h"
3. 选择合适的EPD尺寸、开发板和扩展套件,示例如下:
// EPD_Driver epdtest(eScreen_EPD_271, boardLaunchPad_EXT3);
// EPD_Driver epdtest(eScreen_EPD_271, boardArduinoM0Pro_EXT2);
EPD_Driver epdtest(eScreen_EPD_271, boardRaspberryPiPico_RP2040_EXT3);
// EPD_Driver epdtest(eScreen_EPD_271, boardRaspberryPiPico_RP2040_EXT2);
``
4. 使用提供的
main.cpp`文件作为示例,编写应用代码,调用EPD库函数,实现EPD显示器的控制和管理。
5. 在开发环境中编译并运行应用程序。
注意:该库需配合具体硬件驱动和设置使用,具体步骤可能因开发板和EPD显示器型号而异。使用前请确保开发板和EPD显示器已正确连接和配置。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】