Skip to main content

XIAO ePaper Display Board - EN04 入门指南

XIAO ePaper Display Board EN04

介绍​

由 XIAO nRF52840 Plus 提供算力,显示板 EN04 同时支持 24-pin 和 50-pin ePaper 显示屏。它配备带电源开关的 JST 2.0 mm 电池接口、内置充电 IC,并带有一个复位按键和三个用户按键。非常适合用于低功耗 ePaper 项目,例如数字标牌、电子标签和便携式信息看板。

特性​

  • 由 XIAO nRF52840 Plus 驱动: 连接兼容的 ePaper 显示屏后即可立即工作。
  • 多样化显示支持: 兼容多种 ePaper 屏幕,支持 24-Pin 和 50-Pin 接口,并可通过跳线帽轻松切换。
  • 带开关的电池接口: 提供简单的电池连接并集成开关,实现高效电源管理和节能。
  • 用户友好按键: 包含 1 个复位按键和 3 个用户可编程按键,为项目加速和自定义功能提供灵活性。

规格参数​

参数描述
处理器XIAO nRF52840 Plus
ePaper 接口FPC 24 Pin 0.5mm
FPC 50 Pin 0.5mm
电池接口JST 2.0mm
开关电池电源 ON/OFF
电源供给- 3.7V 锂电池
- USB Type-C
按键- 1x 复位按键
- 3x 用户按键

ePaper 板选择指南​

产品ePaper Display Board EN04ePaper BreakoutePaper Driver Board
处理器XIAO nRF52840 PlusXIAO 系列XIAO 系列
兼容的 ePaper 显示屏24 Pin ePaper
50 Pin ePaper
24 Pin ePaper24 Pin ePaper
ePaper 接口FPC 24 Pin, 0.5mm
FPC 50 Pin, 0.5mm
FPC 24 Pin 0.5mmFPC 24 Pin 0.5mm
电池接口JST 2.0mm/JST 2.0mm
开关电池电源 ON/OFF/电池电源 ON/OFF
按键1x 复位按键
3x 用户按键
//
扩展 IO 端口/连接其他控制器连接额外传感器

应用​

  • 智能家居仪表盘:显示天气更新、日历事件以及来自各类智能家居设备的通知等实时信息。
  • 能耗监测:显示来自智能电表的能耗数据,帮助用户更高效地跟踪和管理能源使用。
  • 安防告警:显示安防事件的告警和通知,例如移动侦测或门窗传感器触发。
  • 智能恒温器显示:显示温度和湿度水平,以及智能恒温器的控制设置。
  • 数字相框:打造一款支持 WiFi 的数字相框,用于显示来自智能家居网络的图片。

硬件概览​

支持的 ePaper 显示屏​

24-Pin 接口​

tip

使用 XIAO ePaper Display Board 时,请务必根据 ePaper 显示屏类型正确设置跳线:

  • 对于 24 Pin ePaper 显示屏 → 将跳线设置为 24 Pin

⚠️ 使用错误的跳线设置可能导致 ePaper 无法显示或显示异常内容。上电前请务必再次确认跳线位置。

50-Pin 接口​

tip

使用 XIAO ePaper Display Board 时,请务必根据 ePaper 显示屏类型正确设置跳线:

  • 对于 50 Pin ePaper 显示屏 → 将跳线设置为 50 Pin

⚠️ 使用错误的跳线设置可能导致 ePaper 无法显示或显示异常内容。上电前请务必再次确认跳线位置。

用户按键​

EN04 提供三个用户可编程按键,可用于多种控制用途。所有按键为低电平有效——按下时读取为 LOW,松开时读取为 HIGH。

在 EN04 上,这三个按键与 XIAO nRF52840 Plus 的连接如下:

KEY1KEY2KEY3
D1 / A1D2 / A2D4 / A4
note

用户按键是可编程的,可配置为多种功能,例如页面切换、模式选择,或在 ePaper 项目中触发特定操作。

电池接口​

EN04 配备 JST 2.0 mm 电池接口和内置充电 IC,非常适合用于电池供电的低功耗 ePaper 项目。

使用 Arduino 入门​

安装 Seeed GFX2 库​

EN04 的所有 ePaper 示例都基于 Seeed_GFX2 Arduino 库构建,该库支持在支持的 ePaper 显示屏章节中列出的所有 ePaper 显示屏。下面的示例以 7.5 英寸单色 ePaper(800 x 480) 为例。

步骤 1. 下载 Seeed_GFX2 库

访问 Seeed_GFX2 GitHub 仓库,点击绿色的 Code 按钮,并选择 Download ZIP 将库下载到你的电脑。

步骤 2. 将库添加到 Arduino IDE

打开 Arduino IDE,依次进入 Sketch → Include Library → Add .ZIP Library...,然后选择刚刚下载的 ZIP 文件。

配置并烧录程序​

  1. 依次进入 File → Examples → Seeed_GFX2 → ePaper Displays → Expansion Board Series → nRF52840 Series → XIAO ePaper Display Board - EN04 → 7.5-inch ePaper - Monochrome 800x480 → HelloWorld。
  1. 在 Tools → Board 中选择 Seeed XIAO nRF52840 Plus。
  1. 通过 USB Type-C 连接开发板,选择对应的串口,然后点击 Upload。
note

上面的示例路径以 7.5 英寸黑白屏为例。对于其他支持的屏幕,只需在 XIAO ePaper Display Board - EN04 下选择与你的屏幕型号匹配的文件夹即可——每块屏幕都附带 HelloWorld、Bitmap 和 Custom_Demo 示例(7.5 英寸三色屏除外,它仅附带 HelloWorld 和 Custom_Demo)。

软件概览​

按键基础读取示例​

本示例演示如何检测三个按键的按下,并将消息打印到串口监视器。

#include <Adafruit_TinyUSB.h> // Required for Serial on the Seeed nRF52 Boards core

// Button pin definitions (verified on hardware)
// KEY1 = D1 / A1 / P0.03
// KEY2 = D2 / A2 / P0.28
// KEY3 = D4 / A4 / P0.04
const int KEY1_PIN = 1;
const int KEY2_PIN = 2;
const int KEY3_PIN = 4;

void setup() {
// Initialize serial port
Serial.begin(9600);
while (!Serial) delay(10);

// Configure all button pins as input with internal pull-up
// Pin is HIGH when not pressed, LOW when pressed
pinMode(KEY1_PIN, INPUT_PULLUP);
pinMode(KEY2_PIN, INPUT_PULLUP);
pinMode(KEY3_PIN, INPUT_PULLUP);

Serial.println("nRF52840 Three-Button Detection Program Started");
Serial.println("Press KEY1 / KEY2 / KEY3 to see output...");
}

// Helper function: check if a button is pressed (with debounce)
bool isButtonPressed(int pin) {
if (digitalRead(pin) == LOW) {
delay(50); // debounce
if (digitalRead(pin) == LOW) {
// Wait for release to prevent repeated triggers
while (digitalRead(pin) == LOW) {
delay(10);
}
return true;
}
}
return false;
}

void loop() {
if (isButtonPressed(KEY1_PIN)) {
Serial.println("Hello. This is KEY1");
}
if (isButtonPressed(KEY2_PIN)) {
Serial.println("Hello. This is KEY2");
}
if (isButtonPressed(KEY3_PIN)) {
Serial.println("Hello. This is KEY3");
}

delay(10);
}

电池电压读取示例​

本示例演示如何读取电池电压并将其打印到串口监视器。

tip

如果你想自己编写代码来读取电池电压,在调用 analogRead() 函数前增加 10ms 延时会更精确。

#include <Adafruit_TinyUSB.h> // Required for Serial on the Seeed nRF52 Boards core

#define VOLTAGE_PIN A0 //P0.02
#define ADC_ENABLE_PIN A5 //P0.05

void setup() {
Serial.begin(115200);
delay(10);

pinMode(VOLTAGE_PIN, INPUT);
pinMode(ADC_ENABLE_PIN, OUTPUT);
digitalWrite(ADC_ENABLE_PIN , HIGH);
}


void loop() {
analogReadResolution(12);
int adcValue = analogRead(VOLTAGE_PIN);
float voltage = (adcValue / 4096.0) *7.16;
Serial.print("ADC Value: ");
Serial.print(adcValue);
Serial.print(" Voltage: ");
Serial.print(voltage, 3);
Serial.println(" V");
delay(10);
}

故障排查​

Q1:上电后 ePaper 屏幕没有任何显示。

  • DIY 套件未预装固件。 XIAO EN04 DIY 套件出厂时不预装 ePaper 固件——首次上电出现空白或黑屏是正常现象。
  • 检查 FPC 线缆方向。 确保 ePaper 的 FPC 线缆以正确方向插入。反向插入可能导致屏幕无显示,甚至损坏屏幕。
  • 按下 RESET 按钮。 在烧录固件或接通电源后,按一次复位按钮以触发屏幕刷新。

Q2:屏幕显示乱码或只部分刷新。

  • 确认跳帽设置。 EN04 支持 24-Pin 和 50-Pin 两种 ePaper 屏幕——跳帽必须与屏幕类型匹配。24-pin 屏幕将跳帽设置为 24 Pin,50-pin 屏幕设置为 50 Pin。
  • 确认屏幕型号选择。 在 Arduino 示例中,确保选择了与你的屏幕完全一致的型号(尺寸和颜色类型)。选择错误的型号会导致显示异常。
  • 等待完整刷新。 ePaper 屏幕采用完整刷新周期——刷新过程中出现的局部刷新或残影是正常现象,刷新完成后会消失。

Q3:使用电池供电时开发板无法上电。

  • 检查电源开关。 将电池电源开关拨到 ON 位置——当开关关闭时,开发板不会从电池取电。
  • 确认 JST 接插件极性。 确保 JST 2.0 mm 电池接插件以正确极性插入。电池极性反接可能损坏硬件。连接电池前请核对接插件上的 +/− 标记。
  • 给电池充电。 如果电池已完全放电,开发板可能无法启动。请连接 USB Type-C 给电池充电后再尝试。

Q4:Seeedash Firmware Flasher 无法检测到开发板。

  • 按下 RESET 按钮。 在开发板通过 USB 连接电脑的情况下,按下并松开 RESET 按钮以重新枚举 USB 端口,然后再次尝试检测。
  • 使用支持数据传输的 USB 线。 有些 USB 线仅供电而不支持数据传输。请更换为已知良好的数据线。
  • 检查 USB 接口。 尝试电脑上的其他 USB 接口——部分接口可能存在供电或驱动问题。

Q5:Arduino IDE 上传失败。

  • 选择正确的开发板。 进入 Tools → Board,确保选择的是 Seeed XIAO nRF52840 Plus,不要选择其他 XIAO 型号。
  • 选择正确的端口。 进入 Tools → Port,选择与你的开发板对应的串口。如果没有端口出现,请检查 USB 线和连接情况。
  • 必要时进入 bootloader 模式。 如果上传持续失败,双击 RESET 按钮进入 bootloader 模式,然后重新选择端口并再次上传。

资源​

技术支持与产品讨论​

感谢你选择我们的产品!我们将为你提供多种支持,确保你在使用我们产品的过程中尽可能顺利。我们提供多种沟通渠道,以满足不同的偏好和需求。

Loading Comments...