Skip to main content

XIAO ePaper Display EE04 入門ガイド

XIAO ePaper Display Board EE04

はじめに

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

特徴

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

仕様

パラメータ説明
プロセッサXIAO ESP32-S3 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 EE04ePaper BreakoutePaper Driver Board
プロセッサXIAO ESP32-S3 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 対応デジタルフォトフレームを作成します。

ハードウェア概要

tip

このバージョンの XIAO ePaper Display Board(ESP32-S3) - EE04 は NFC 機能をサポートしていません。

サポートされる ePaper

24ピンコネクタ

tip

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

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

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

50ピンコネクタ

tip

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

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

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

ソフトウェア概要

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

ステップ 3. Seeed Arduino LCD ライブラリをインストール

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_EE04

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

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

tip

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

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

XIAO ePaper Display Board(ESP32-S3) - EE04のユーザーボタン

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

EE04では、3つのボタンがXIAO ESP32-S3 Plusに接続されています:

KEY1KEY2KEY3
GPIO2_D1/A1GPIO3_D2/A2GPIO5_D4/A4

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

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

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


// reTerminal E Series - Button Test
// Based on hardware schematic

// Define button pins according to schematic
const int BUTTON_KEY0 = 2; // KEY0 - GPIO2
const int BUTTON_KEY1 = 3; // KEY1 - GPIO3
const int BUTTON_KEY2 = 5; // KEY2 - GPIO5

// Button state variables
bool lastKey0State = HIGH;
bool lastKey1State = HIGH;
bool lastKey2State = HIGH;

void setup() {
// Initialize serial communication
Serial.begin(115200);
while (!Serial) {
delay(10); // Wait for serial port to connect
}

Serial.println("=================================");
Serial.println("Press any button to see output");
Serial.println();

// Configure button pins as inputs
// Hardware already has pull-up resistors, so use INPUT mode
pinMode(BUTTON_KEY0, INPUT_PULLUP);
pinMode(BUTTON_KEY1, INPUT_PULLUP);
pinMode(BUTTON_KEY2, INPUT_PULLUP);

// Read initial states
lastKey0State = digitalRead(BUTTON_KEY0);
lastKey1State = digitalRead(BUTTON_KEY1);
lastKey2State = digitalRead(BUTTON_KEY2);

Serial.println("Setup complete. Ready to detect button presses...");
}

void loop() {
// Read current button states
bool key0State = digitalRead(BUTTON_KEY0);
bool key1State = digitalRead(BUTTON_KEY1);
bool key2State = digitalRead(BUTTON_KEY2);

// Check KEY1
if (key0State != lastKey0State) {
if (key0State == LOW) {
Serial.println("KEY0 (GPIO2) pressed!");
} else {
Serial.println("KEY0 (GPIO2) released!");
}
lastKey0State = key0State;
delay(50); // Debounce delay
}

// Check KEY2
if (key1State != lastKey1State) {
if (key1State == LOW) {
Serial.println("KEY1 (GPIO3) pressed!");
} else {
Serial.println("KEY1 (GPIO3) released!");
}
lastKey1State = key1State;
delay(50); // Debounce delay
}

// Check KEY3
if (key2State != lastKey2State) {
if (key2State == LOW) {
Serial.println("KEY2 (GPIO5) pressed!");
} else {
Serial.println("KEY2 (GPIO5) released!");
}
lastKey2State = key2State;
delay(50); // Debounce delay
}

delay(10); // Small delay to prevent excessive CPU usage
}

XIAO ePaper Display Board(ESP32-S3) - EE04のユーザーバッテリー

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

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

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

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

tip

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

#define VOLTAGE_PIN A0

void setup() {
Serial.begin(115200);
pinMode(VOLTAGE_PIN, INPUT); /
}

void loop() {
int adcValue = analogRead(VOLTAGE_PIN);
float voltage = (adcValue / 1023.0) * 3.3;

Serial.print("ADC Value: ");
Serial.print(adcValue);
Serial.print(" Voltage: ");
Serial.print(voltage, 3);
Serial.println(" V");

delay(10);
}

リソース

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

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

Loading Comments...