[SPI] 0.96 inch OLED ディスプレイ (ER-OLED0.96-3W / SSD1306)

0.96 inch の OLED (Organic Light Emitting Diode) ディスプレイです。単色 128x96 フルグラフィックです (I2C 接続の記事はこちら)。



購入

Amazon 等で購入できます (購入時価格: ¥450)。

この製品には表示色がホワイトの他に "ブルー" と "イエロー&ブルー" というのがあります。ブルーはお好みなのでいいとして、"イエロー&ブルー" は買っちゃダメです。

画像を見れば解るように、2色任意で表示できる訳じゃありませんし、フルグラフィックなのにイエローとブルーの間に隙間があるので使い所が限られてしまいます。

このディスプレイは SPI / I2C 両接続バージョン となります。I2C 接続専用バージョン もありますので購入時には間違えないようにしてください。何故か SPI / I2C 両接続バージョンの方が安いので、こちらを買えば間違いないんじゃないでしょうかね?

画像では端子が 4 つしかないのに商品説明で SPI と書かれている場合、またはその逆の場合にはどちらが送られてくるかわかりませんのでご注意ください。SPI 接続なら少なくとも 7 ピンはあるはずです。

See Also:


各部詳細

パネルは ER-OLED0.96-3W、OLED コントローラは SSD1306 のようです。入力電圧は 3.3V~5V です。端子はシルク印刷の通りですね。見た感じでは ELECROW 製品のコピーのようです。

このモジュールには最初からピンヘッダが半田付けされていますので、そのままブレッドボードに挿して使えます。

裏面のジャンパを設定する事で SPI 接続 / I2C 接続を切り替えられます。デフォルトは SPI 接続用です。

接続方法 ジャンパ
SPI R3, R4
SPI (3線) R2, R3
I2C R1, R4, R6, R7, R8

ジャンパには 1608 (0603) サイズの 4.7KΩ チップ抵抗 (472) が使われているようです。

See Also:


動作確認

Arduino (UNO) との接続は以下のようになります。

VCC と 3V3 を繋いでいますが、5V でも構いません。

OLED Arduino
GND GND
VCC 3V3 / 5V
D0 10
D1 9
RST 13
DC 11
CS 12

Arduino と OLED ディスプレイとの接続は SPI (Serial Peripheral Interface) となります。


Adafruit ライブラリを使用

以下から Adafruit のライブラリを入手します。

サンプルスケッチは examples/ssd1306_128x64_spi にある ssd1306_128x64_spi.ino ですが、このままではうまく動きませんので、Adafruit_SSD1306.h を修正します。

//   #define SSD1306_128_64
   #define SSD1306_128_32
//   #define SSD1306_96_16

デフォルトだと 128x32 の OLED になっているので、128x64 の方を有効にします。

   #define SSD1306_128_64
//    #define SSD1306_128_32
//   #define SSD1306_96_16

コンパイルして実行するとデモが表示されます。



u8glib ライブラリを使用

以下から u8glib を入手してもいいのですが...

[スケッチ | ライブラリをインクルード | ライブラリを管理] から u8glib を探してインストールするのが簡単です。

サンプルスケッチの HelloWorld.pde は sys/arduino/HelloWorld/ にありますが、ここからコピーしてきてもいいでしょう。このスケッチでは LD7032 (I2C: 60x32) がデフォルトになっているので、以下の行を // でコメントアウトし、

U8GLIB_LD7032_60x32 u8g(U8G_I2C_OPT_NONE);      // I2C//U8GLIB_LD7032_60x32 u8g(U8G_I2C_OPT_NONE);      // I2C

以下の行を追記します。

U8GLIB_SSD1306_128X64 u8g(10, 9, 12, 11, 13); // SPI

コンパイルして実行するとデモが表示されます。

See Also:


余談

Arduino LEONARDODa Vinci 32U を本製品と組み合わせると...?

ICSP 端子に配線するにはオス<->メスのジャンパーワイヤーが必要な事に注意してください。

OLED Leonardo Da Vinci 32U
GND GND 1 GND
VCC 3V3 / 5V 2 5V
D0 SCLK SCLK
D1 MOSI MOSI
RST 6 11 D6
DC 4 8 D4
CS 12 10 D12

この組み合わせで Arduboy のライブラリが使えます。

但し、Arduboy の OLED が 1.3inch なのに対して本製品は 0.96inch なので若干見にくいです。Arduboy と同じ画面サイズ (1.3inch) で OLED コントローラが SSD1306 のものは入手しづらく割高です。OLED コントローラが SSD1306 でなければ、安価な 1.3inch OLED は存在しますが、Arduboy Library を改変する必要があります。

See Also:


ここにある情報が役に立って、「調べる手間が省けたからオマイに飯でもおごってやるよ」 というハートウォーミングな方がいらっしゃいましたら、下のボタンからどうぞ。

メニュー: