littlebot
Published on 2025-04-09 / 3 Visits
0

【源码】基于C++编程语言的电子纸张驱动库

项目简介

本项目是基于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

更多布线指导可查看EXT2EXT3的用户手册。

代码配置与运行

  1. 根据开发板类型,配置EPD_Driver.cpp文件中的参数,包括EPD显示器类型、开发板类型等。
  2. 若要在不同尺寸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】