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

シェアする