背景
ESP32とは、WiFiとBluetooth通信が出来るプログラム可能なモジュールです。ePaperとは電源を切っても表示を維持できる情報表示版です。
ESP32で1.54インチのePaperを動かせたので、備忘録を兼ねてやった内容を共有します。
使ったもの
ePaperモジュール
Aliexpressで買いました。
TZT 1.54 インチ電子ペーパーモジュール電子ペーパー E-インク EInk 表示画面 SPI サポートグローバル/用 arduino STM ラズベリーパイ ESP32
こちらのePaperモジュールでも同様のことができます。
Waveshare1.54inch 電子ペーパー/E インクディスプレイ 200 × 200 、ラズベリーパイのための spi インタフェースなど。 2-表示色: 黒、白、部分的なリフレッシュ
ESP32開発ボード
ESP32BBを利用しました。ESP32を使っている開発ボードなら同じプログラムを動かせます。
ジャンパワイヤ
ESP32BBはピンソケット(メス)が付いているので、オスメスジャンパワイヤを利用しました。ピンヘッダ(オス)が付いているESP32開発ボードを利用する場合は、メスメスジャンパワイヤか、オスメスジャンパワイヤとブレッドボードを使うと接続できます。
ESP32を開発できるようにしたArduino IDE
PCにArduino IDEをインストールし、arduino-esp32をIDEにjsonのurlを追加してからボードマネージャーを通して設定して、開発ボードとしてESP32DevModuleを選択しました。接続
ESP32開発ボードとePaperモジュールをこのように接続します。ePaper | ESP32 |
---|---|
VCC | 3V3 |
GND | GND |
SDI | 23 |
SCLK | 18 |
CS | 26 |
DC | 25 |
Reset | 33 |
Busy | 27 |
ライブラリを設定
Arduino IDEにEPDライブラリを設定します。ライブラリを使わなくてもePaper向けのプログラムを公開しているwikiからコードをダウンロードして、ESP32向けにコードを変更すればePaperを利用できます。
しかし、ePaperを利用する度にコードをコピーして変更するのが手間そうだったので、変更したコードをライブラリとして公開しました。
https://github.com/asukiaaa/EPD
上記のライブラリはArduino IDEのライブラリマネージャで設定できます。
Arduino IDEでスケッチ -> ライブラリをインクルード -> ライブラリを管理でライブラリマネージャを開きます。
EPDで検索し、「by Asuki Kono」となっているEPDライブラリをインストールします。
サンプルプログラムの一部を書き換えて書き込み
EPDライブラリを設定できたらサンプルプログラムを使えるようになるので、ファイル -> スケッチ例 -> EPD -> EPD1in54ShowRunningTimeを開きます。ESP32で利用を推奨されていないピンをEPDが利用する設定になっているので、ESP32で使えるピンを利用します。
先ほど開発ボードとePaperモジュールの接続に利用したピンに合わせて、EPD1in54の定義を下記のように変更します。
// EPD1in54 epd; // default reset: 8, dc: 9, cs: 10, busy: 7 EPD1in54 epd(33, 25, 26, 27); // reset, dc, cs, busy
ピンの割り当てを変更したら、プログラムをESP32に書き込みます。
「Hello worldと丸や四角」、「画像と駆動時間」の表示を確認できました。
まとめ
ePaperモジュールをESP32で制御できました。参考になれば嬉しいです。
参考
電子ペーパーの実験1.54inch e-Paper Module
0 件のコメント :
コメントを投稿