ESP8255でSSD1306を駆動
秋月から部品を買うついでに色んな場面での表示に使えそうなので128×64ドット有機ELディスプレイ SSD1306を購入した。
折角購入したので、ESP32やESP8266での動作を試してみた。
ネットで検索するとESP32のものが発見できたので、まずESP32から試す。ネットでの記載通りに配線、といっても電源とi2Cを繋ぐだけであるのでンな単である。
そのページにあるスケッチを書き込みライブラリーを組み込むと簡単に動作した。"Hellow World"と表示されるものである。
スケッチをみていて気が付いたのだが、このSSD1306はキャラクターではなくグラフィックディスプレイなのである。
文字を表示させるにはキャラクターディスプレイとは違った配慮が必要のようである。
ESP32では動いたので、それをESP8266に移植することを考える。
配線は、i2Cの端子をESP32の21,22からESP8266の定型である4,5に変更する。当然スケッチ内で指定しているピンも変更する。
以下のスケッチをArduinoIDEでESP8266に書き込む。
Hellow World のスケッチ
再起動が頻発するも、USBの挿抜などを繰り返しなんとか立ち上がる。原因はわからないが時々このような状態になる。
次に時刻を表示してみる。時刻はネットからもらってくるのでWiFiに接続する。配線に変更はない。
時刻表示のスケッチをESP8266に書き込む。
起動するとシリアルモニターに接続したことが表示され、日付と時刻がディスプレイに表示される。
この表示は2行に亘っており、フォントサイズもに種類あるので、このスケッチを見るとキャラクター表示に関しては応用できそうである。
簡単そうなので他のスケッチ、例えばWifi関係で取得したIPアドレスの表示などに使えそうである。
グラヒック表示には別のライブラリーがあるようであるので絵を書く場合はそちらを組み込む。