ゆるく楽しむプログラミング

e-Paper(白黒) [GDEH0213B72]

2.13インチ e-Paper(白黒) [GDEH0213B72]
e-Paper ディスプレイモジュール用アダプタ

2.13インチサイズ、250 × 122の解像度の電子ペーパー
SPIインタフェース(MODE0,MSB FIRST)

電源電圧 3.3V
信号レベル:3.3V

 ピン接続
DESPI-C02 ArduinoUNO
BUSY D6 (変更可)
RES D7 (変更可)
D/C D9 (変更可)
CS D10 (変更可)
SCK D13 (SCK)
SDI D11 (MOSI)
GND GND
3.3V 3.3V


ガラス面が割れそうなので、ケースを作ってみました



形状データ(.STL)

座標系

左上(0,0)
座標系の変更は出来ない

データ書き込み時にオートインクリメントされる
アドレスはX軸、Y軸個別に加算/減算を設定できる

X軸方向は1Byteで8Dotを表示
右側がMSB

16x8=128だが、表示範囲は122Dotなので右側6Dotは表示されない



画像データの書込み

書込み範囲の指定
画像データの書込み範囲をX軸、Y軸個別に開始アドレス、終了アドレスを設定する
X軸の範囲は0~15
Y軸の範囲は0~239
Y軸の開始、終了アドレスは2バイト。リトルインディアンなので下位バイト、上位バイトの順で指定

書込み開始アドレスの指定
画像データの書込み開始アドレスをX軸、Y軸個別に設定する
データ書き込み時にX軸、Y軸のアドレスが各々加算されるか減算されるか設定できるので
その設定に合わせて開始位置を書込み範囲の4隅に設定する
X軸、Y軸共に加算設定の場合は、開始アドレスは書込み範囲の左上となり
X軸、Y軸共に減算設定の場合は、開始アドレスは書込み範囲の右下になる

アドレスカウンタの挙動
書込みアドレスのカウンタはX軸、Y軸のどちらからカウントされるかを設定できる
X->Yに設定した場合、X軸のカウンタが書込み範囲の終了アドレスに達達すると、
X軸のカウンタが書込み範囲の開始アドレスに設定され、Y軸のカウンタが加算(または減算)される
開始アドレスが書込み範囲の外にあった場合、書込み範囲の終了アドレスに達達するまで加算(また減算)され、
その後、書込み範囲の開始アドレスに設定される

リセット

ハードウエアリセット
RESをLOWにして10ミリ秒まってからHIGHにして10ミリ秒待つ

ソフトウエアリセット
コマンド0x12を送信してBUSYがLOWになるのを待つ

コマンド

コマンドは1バイトでNバイトのデータが続く、コマンド送信時にはD/CをLOWに、データ送信時にはD/CをHIGHにする。

コマンド送信手順 
SS(Slave Select)  LOWにする
DC(Data/Command)   LOWにする
コマンド送信 
DC(Data/Command)   HIGHにする
 データ送信
SS(Slave Select)  HIGHにする

初期設定コマンド
コマンド パラメタ
0x74 set analog block control 0x54
0x7E et digital block control 0x3B
0x01 Driver output control 0xF9 , 0x00 , 0x00
0x11 Data Entry mode setting [1:0] 00 - Y decrement, X decrement,
[1:0] 01 - Y decrement, X increment,
[1:0] 10 - Y increment, X decrement,
[1:0] 11 - Y increment, X increment.
[2:2] 0 - X軸を先にカウント
[2:2] 0 - Y軸を先にカウント
0x3C Border Waveform Control 0x03
0x2C VCOM Voltage 0x55
0x03 Gate Driving Voltage Control 0x15
0x04 Source Driving voltage Control 0x41 , 0xA8 , 0x32
0x3A Set dummy line period 0x30
0x3B Set Gate line width 0x0A
0x32 Write LUT register 70Byteの設定値
0x22 Display Update Control 2 0xB1 Load TS and then Load LUTfrom OTP

描画コマンド
コマンド パラメタ
0x44 Set RAM X -address Start Position(0x00~0x0F), End Position (0x00~0x0F)
0x45 Set RAM Yーaddress Start Position LOW Byte(0x00~0xF9), Start Position HIGH Byte(0x00),
END Position LOW Byte(0x00~0xF9), ENDPosition HIGH Byte(0x00)
0x4E Set RAM X -address counter initial settings for the RAM X address(0x00~0x0F)
0x4F Set RAM Y -address counter initial settings for the RAM Y address(0x00,0x00~0xF9,0x00)
0x24 Write RAM(BW) 画像のデータByte分のデータ
0x22 0xC7
0x20 Master Activation 表示更新
0x10 Deep Sleep Mode 00 Normal Mode [POR]
01 Enter Deep Sleep Mode1
11 Enter Deep Sleep Mode2

サンプルスケッチ


YuruPuro/ePaperBW

解説動画