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ピンの両方のインターフェースをサポートし、ジャンパーキャップで簡単に切り替えできます。
  • スイッチ付きBATコネクタ: シンプルなバッテリー接続を提供し、スイッチを統合することで効率的な電源管理と省エネを実現します。
  • ユーザーフレンドリーなボタン: 1つのリセットボタンと3つのユーザープログラマブルボタンを含み、プロジェクトの加速とカスタマイズ可能な機能の柔軟性を提供します。

仕様

パラメータ説明
プロセッサXIAO ESP32-S3 Plus
ePaperコネクタFPC 24ピン 0.5mm
FPC 50ピン 0.5mm
バッテリーコネクタJST 2.0mm
スイッチバッテリー電源 ON/OFF
電源供給- 3.7V Li-Battery
- USB Type-C
ボタン- 1x リセットボタン
- 3x ユーザーボタン

ePaperボード選択ガイド

製品ePaper Display Board EE04ePaper BreakoutePaper Driver Board
プロセッサXIAO ESP32-S3 PlusXIAOシリーズXIAOシリーズ
対応ePaperディスプレイ24ピン ePaper
50ピン ePaper
24ピン ePaper24ピン ePaper
ePaperコネクタFPC 24ピン、0.5mm
FPC 50ピン、0.5mm
FPC 24ピン 0.5mmFPC 24ピン 0.5mm
バッテリーコネクタJST 2.0mm/JST 2.0mm
スイッチバッテリー電源 ON/OFF/バッテリー電源 ON/OFF
ボタン1x リセットボタン
3x ユーザーボタン
//
拡張IOポート/他のコントローラーとの接続追加センサーとの接続

アプリケーション

  • スマートホームダッシュボード: 天気予報、カレンダーイベント、各種スマートホームデバイスからの通知などのリアルタイム情報を表示。
  • エネルギー監視: スマートメーターからのエネルギー消費データを表示し、住宅所有者がエネルギー使用量をより効率的に追跡・管理できるよう支援。
  • セキュリティアラート: 動作検知やドア/窓センサーの作動などのセキュリティイベントに関するアラートと通知を表示。
  • スマートサーモスタットディスプレイ: 温度と湿度レベル、およびスマートサーモスタットの制御設定を表示。
  • デジタルフォトフレーム: スマートホームネットワークから画像を表示できるWiFi対応デジタルフォトフレームを作成。

ハードウェア概要

サポートされるeInk

24ピンコネクタ

tip

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

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

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

50ピンコネクタ

tip

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

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

⚠️ 間違ったジャンパー設定を使用すると、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のユーザーボタン

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

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

  • KEY1 (GPIO2_D1/A1)
  • KEY2 (GPIO3_D2/A2)
  • KEY3 (GPIO5_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
}

リソース

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

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

Loading Comments...