ATOM Lite で e-Paper を表示する
Atom Lite で使用できる PIN 数制限のため、SPIではなくI2Cを使用する。
e-Paper I2C モジュール - スイッチサイエンス
Crescent からの 受託販売商品 at スイッチサイエンス
WAVESHARE の ディスプレイは通常 SPI通信ですが、配線の用意性を実現するために ブリッジを間に置いて、I2C化されたもの。
I2C接続のため、SPI接続に比べて描画速度が遅くなりますが、I2C接続で電源線と信号線2本で簡単に接続が可能です。また、I2CはGroveコネクタを搭載することでラピッドプロトタイピングに対応しています。
使用には下記の repository を利用する。
2022/02/01時点のArduinoIDEに対応していない部分があるので修正が必要(後述)
GitHub - meerstern/e-Paper_I2C_Module
Raspberry Pi や Esp32 また Arduinoの場合
- 公式参照
https://www.waveshare.com/wiki/4.2inch_e-Paper_Module_(B)
Arduino UNOのRAMは、電子ペーパーの描画機能を実現するには小さすぎます。この場合、多くの電子ペーパーでは、画像表示機能とフラッシュへの画像保存機能のみを実現します。
Arduino UNOを使用する場合は、E-Paper Shieldを使用することをお勧めします。 - Arduinoに接続する記事参照
http://ict.puziro.com/2020/06/02/arduino_e_paper/ - ESP32に接続する記事参照
電子ペーパー
SPI 接続用の部品参考
e-Paper_12C_Moduleの修正箇所
PROGREM に使用するパッケージに関して
e-paper_I2C_Module.ino の全体で確認
古
#include <avr/pgmspace.h>
新
#include <pgmspace.h>
Atom Lite で使用するにあたって
SC18IS602.cpp
// 追記
#include <M5Atom.h>
// コメントアウト
//#ifdef __AVR__
// #define WIRE Wire
//#else // Arduino Due
// #define WIRE Wire
//#endif
// 追記
#define WIRE Wire
void SC18IS602::begin(void)
{
//追記
M5.begin(true, false, true);
delay(10);
Wire.begin(26, 32); // I2C通信でG26とG32信号を使用
delay(3000);
// コメントアウト
// WIRE.begin();
// WIRE.setClock(200000);
// コメントアウト 先に Wire.beginにて I2Cとして接続しているため コメントアウトしないと[既に使用済みという]エラーが出る
// pinMode(SDA, INPUT);
// pinMode(SCL, INPUT);
ResetDevice();
SSEnable(SC18IS602_SS_0);
ss_pin = SC18IS602_SS_0;
}
I2Cを使用可能かをSampleで確認するとベター
Arduino/libraries/M5Atom/examples/Advanced/I2C_Tester/I2C_Tester.ino
参考
.png から PROGREM 形式へ
変換方法
200px X 200px で モノクロの .png を作成し、下記の変換サイトで バイト配列に変換して、ソースコードで利用する。
image2cpp
OLEDマトリクスでも上記のバイト配列を使用できる。
AtomLiteでの begin について
M5StackシリーズはモデルによってM5.begin()の引数が異なる
今回は (true.false,true)
I2CEnableを trueに設定するのは、Groveコネクタ(26,32)以外を使用してI2Cを接続する場合。
M5Stack.h(ATOM用)
void begin(bool SerialEnable = true, bool I2CEnable = true, bool DisplayEnable = false);
参考
M5Stackシリーズ M5.begin()の互換性 - Qiita
Groveコネクタについて
コネクタの役割
pin 1 - Yellow (for example, SCL on I2C Grove Connectors)
pin 2 - White (for example, SDA on I2C Grove Connectors)
pin 3 - Red - VCC on all Grove Connectors
pin 4 - Black - GND on all Grove Connectors
ケーブル色
GROVEケーブルの色は、M5Stack用などだと異なるので注意!
電圧
M5Stack/M5Stick
電源レベル:5V
信号レベル:3.3V
バッテリーで動作しているときも、Grove 端子には DC-DCコンバータで生成した 5V が出ている。(危険注意)
参考
拡張端子について
重要:G25とG21は Wifi使用時に専有されるため、入出力に使用しないこと
TXとRX
- Groveポート G32=TX、G26=RX
- 背面端子 G22=TX、G19=RX
- 背面端子 G21=TX、G25=RX
- 背面端子 G23=TX、G33=RX
Discussion