Skip to main content

XIAO ePaper Display EN04 入門ガイド

XIAO ePaper Display Board EN04

はじめに

XIAO nRF52840 Plus を搭載したディスプレイボード EN04 は、24ピン50ピンの両方の ePaper ディスプレイをサポートします。JST 2.0 mm バッテリーコネクタと電源スイッチ、内蔵充電IC、NFC機能を備え、1つのリセットボタンと3つのユーザーボタンが付属しています。デジタルサイネージ、電子ラベル、ポータブル情報ボードなどの低消費電力 ePaper プロジェクトに最適です。

特徴

  • XIAO nRF52840 Plus 搭載: 対応する ePaper ディスプレイに接続するだけですぐに動作します。
  • 多様なディスプレイサポート: 幅広い ePaper スクリーンに対応し、24ピンと50ピンの両方のインターフェースをサポート、ジャンパーキャップで簡単に切り替え可能です。
  • スイッチ付きBATコネクタ: シンプルなバッテリー接続を提供し、スイッチを統合することで効率的な電源管理と省エネを実現します。
  • 使いやすいボタン: 1つのリセットボタンと3つのユーザープログラマブルボタンを含み、プロジェクトの加速とカスタマイズ可能な機能の柔軟性を提供します。

仕様

パラメータ説明
プロセッサXIAO nRF52840 Plus
ePaper コネクタFPC 24 Pin 0.5mm
FPC 50 Pin 0.5mm
バッテリーコネクタJST 2.0mm
スイッチバッテリー電源 ON/OFF
電源供給- 3.7V Li-Battery
- 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ピンコネクタ

tip

XIAO ePaper Display Board を使用する際は、ePaper ディスプレイのタイプに応じてジャンパーを設定してください:

  • 24ピン ePaper ディスプレイの場合 → ジャンパーを24ピンに設定

⚠️ 間違ったジャンパー設定を使用すると、ePaper の表示が失敗したり、異常なコンテンツが表示される可能性があります。電源を入れる前に、必ずジャンパーの位置を再確認してください。

50ピンコネクタ

tip

XIAO ePaper Display Board を使用する際は、ePaper ディスプレイのタイプに応じてジャンパーを設定してください:

  • 50ピン ePaper ディスプレイの場合 → ジャンパーを50ピンに設定

⚠️ 間違ったジャンパー設定を使用すると、ePaper の表示が失敗したり、異常なコンテンツが表示される可能性があります。電源を入れる前に、必ずジャンパーの位置を再確認してください。

ソフトウェア概要

Seeed GFX ライブラリのインストール

tip

このライブラリはTFTライブラリと同じ機能を持ちますが、互換性はありません。TFTライブラリや他の類似のディスプレイライブラリをインストールしている場合は、まずそれらをアンインストールしてください。

GitHub から Seeed GFX ライブラリをダウンロードしてインストールします。

下にスクロールしてこのリンクを開きます。

デバイスタイプを選択すると、コードが生成されます。そのコードをコピーして、後で使用します。

tip

間違った選択をすると、画面に何も表示されません。

デバイスやコンポーネントのタイプを確認してください。

ライブラリをダウンロードした後、Sketch -> Include Library -> Add .ZIP Library に移動し、ダウンロードしたライブラリを選択します。

4つの基本的な例があります。お好みの基本例を開いてください:

  1. Bitmap: ビットマップ画像を表示します。
  2. Clock: 時計を表示します。
  3. Clock_digital: デジタル時計を表示します。
  4. Shape: 異なるサイズの文字と図形を表示します。

開始方法

ここでは、5.83インチディスプレイを例として使用します。すべての24ピンスクリーンで手順は同じです。唯一の違いは、ドライバーで適切なスクリーンサイズを選択することです。

新しい「driver.h」ファイルを作成し、そのコードを貼り付けます。コードは次のようになります:

#define BOARD_SCREEN_COMBO 503 // 5.86 inch monochrome ePaper Screen (UC8179)
#define USE_XIAO_EPAPER_DISPLAY_BOARD_EN04

その後、Tools -> Board -> XIAO ESP32S3Tools -> Port -> ボードが接続されているポートを選択 に移動します。次に Upload をクリックしてコードをアップロードします。

これで、ePaper画面にフィードバックが表示されます!以下はHelloworldサンプルの結果です。

tip

⚠️ 注意:ePaperケーブルの向き ePaperディスプレイをXIAO ePaper Display Boardに接続する際は、FPCケーブルが正しい方向に挿入されていることを確認してください。

⚠️ コネクタを逆向きにしないでください!ケーブルを逆さまに挿入すると、ePaperの表示が失敗したり、画面/ボードが損傷する可能性があります。 以下の画像は正しい接続を示しています:

XIAO ePaper Display Board(nRF52840) - EN04のユーザーボタン

EN04には、さまざまな制御目的に使用できる3つのユーザープログラマブルボタンが搭載されています。このセクションでは、Arduinoを使用してボタンの状態を読み取り、ボタンの押下に応答する方法を説明します。

EN04では、3つのボタンがXIAO nRF52840 Plusに接続されています:

KEY1KEY2KEY3
GPIO2_D1/A1GPIO3_D2/A2GPIO5_D4/A4

すべてのボタンはアクティブローで、押されたときにLOWを読み取り、離されたときにHIGHを読み取ります。

基本的なボタン読み取りサンプル

このサンプルでは、ボタンの押下を検出し、シリアルモニターにメッセージを出力する方法を説明します。


// Define button pin (GPIO2 corresponds to Arduino digital pin 2)
const int KEY_PIN = 2;

void setup() {
// Initialize serial port (baud rate 9600, nRF52840 compatible with default Serial)
Serial.begin(9600);
// Wait for serial port initialization to complete (for nRF52840 Bluetooth module serial buffer)
while (!Serial) delay(10);

// Configure button pin as input mode with internal pull-up resistor enabled
// Pin is HIGH when not pressed, LOW when pressed
pinMode(KEY_PIN, INPUT_PULLUP);

Serial.println("nRF52840 Button Detection Program Started");
Serial.println("Press the button connected to GPIO2 to see output...");
}

void loop() {
// Read button state (INPUT_PULLUP mode: LOW = pressed, HIGH = not pressed)
int keyState = digitalRead(KEY_PIN);

// Detect if button is pressed (low level)
if (keyState == LOW) {
// 50ms delay for debounce handling (avoids false triggers from mechanical button bounce)
delay(50);
// Read state again to confirm (ensure stable press)
if (digitalRead(KEY_PIN) == LOW) {
// Print specified content via serial port
Serial.println("Hello. This is key1");

// Wait for button release (prevent repeated printing during long press)
while (digitalRead(KEY_PIN) == LOW) {
delay(10); // Short delay to reduce CPU usage
}
}
}

// Short delay in main loop for performance optimization
delay(10);
}

XIAO ePaper Display Board(nRF52840) - EN04のユーザーバッテリー

バッテリー電源で動作する場合:

  • デバイスはリフレッシュ間隔の間、自動的に低電力モードに入ります

  • バッテリー寿命はリフレッシュ頻度に依存します(デフォルト設定でフル充電から通常3ヶ月)

  • バッテリーレベルが20%を下回ると、デバイスは右上角に低バッテリーアイコンを表示します

tip

バッテリー電圧を読み取るコードを自分で書く場合は、analogRead()関数の前に10msの遅延を追加するとより正確になります。

#define VOLTAGE_PIN A0 //GPIO1
#define ADC_ENABLE_PIN A5 //GPIO6

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);
}

リソース

近日公開...

技術サポート & 製品ディスカッション

弊社製品をお選びいただき、ありがとうございます!弊社製品での体験が可能な限りスムーズになるよう、さまざまなサポートを提供しています。さまざまな好みやニーズに対応するため、複数のコミュニケーションチャンネルを用意しています。

Loading Comments...