I2CのOLED液晶 SSD1306 を使ってみる
小さなI2Cの液晶ディスプレイが欲しくて、AliExpress で1個149円の 128x32
サイズ を買ってみた。
SSD1306という型番で、多く出回ってるので、使うのは簡単。
Helixキーボードで使ってるアレ。
ちゃんとした日本のショップで買えば、1個700円台。
AliExpress で買うのはチャレンジなので、動かなくても泣かない。
今回、5個購入して最初の1個はちゃんと動いたので、ラッキー。
残り4個はまだ試してないけど、全部動くなら今年の運はもうないかも。
Arduino ライブラリ
Adafruit のライブラリを使った。 SSD1306
で検索。
アプリケーション
毎度おなじみ、M5StickC につないでみた。
I2CのPINは、以下の2つを利用。
- PIN G26 ... SDA
- PIN G0 ... SDL
プログラム
上記のライブラリのサンプルを動かすために、I2CのPIN指定だけは修正が必要。
SSD1306の .begin
の前にWireでPINを指定する。
void setup() {
Serial.begin(9600);
Wire.begin(26, 0); // SDA: G26, SCL: G0
// SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // Address 0x3C for 128x32
Serial.println(F("SSD1306 allocation failed"));
for(;;); // Don't proceed, loop forever
}
...
表示
サンプルの OLED_featherwing
を動かしてみた。
このくらいの情報が表示できると、色々使えそう。
サンプル ssd1306_128x32_i2c