0.96 inch の OLED (Organic Light Emitting Diode) ディスプレイです。単色 128x96 フルグラフィックです (I2C 接続の記事はこちら)。
Amazon 等で購入できます (購入時価格: ¥450)。
この製品には表示色がホワイトの他に "ブルー" と "イエロー&ブルー" というのがあります。ブルーはお好みなのでいいとして、"イエロー&ブルー" は買っちゃダメです。
画像を見れば解るように、2色任意で表示できる訳じゃありませんし、フルグラフィックなのにイエローとブルーの間に隙間があるので使い所が限られてしまいます。
このディスプレイは SPI / I2C 両接続バージョン となります。I2C 接続専用バージョン もありますので購入時には間違えないようにしてください。何故か SPI / I2C 両接続バージョンの方が安いので、こちらを買えば間違いないんじゃないでしょうかね?
画像では端子が 4 つしかないのに商品説明で SPI と書かれている場合、またはその逆の場合にはどちらが送られてくるかわかりませんのでご注意ください。SPI 接続なら少なくとも 7 ピンはあるはずです。
パネルは 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) が使われているようです。
Arduino (UNO) との接続は以下のようになります。
VCC と 3V3 を繋いでいますが、5V でも構いません。
OLED | Arduino | 説明 |
GND | GND | GND |
VCC | 3V3 / 5V | 電源 |
D0 | 10 | クロック |
D1 | 9 | データ |
RST | 13 | リセット |
DC | 11 | データ/コマンド |
CS | 12 | チップセレクト |
Arduino と OLED ディスプレイとの接続は SPI (Serial Peripheral Interface) となります。
以下から Adafruit のライブラリを入手します。
サンプルスケッチは examples/ssd1306_128x64_spi にある ssd1306_128x64_spi.ino ですが、このままではうまく動きませんので、Adafruit_SSD1306.h を修正します。
|
デフォルトだと 128x32 の OLED になっているので、128x64 の方を有効にします。
|
コンパイルして実行するとデモが表示されます。
上記のやり方は UNO 用のソフトウェア SPI 接続なので、汎用的なハードウェア SPI 接続で使う方法もご紹介します。
|
|
OLED_DC と OLED_RESET は任意のピンを使えます。
OLED | SPI | UNO | ESP-WROOM-02 | ESP-WROOM-32 | Blue Pill | micro:bit |
GND | GND | GND | GND | GND | GND | |
VCC | 5V | 3V3 | 3V3 | 3.3 | 3.3 | |
D0 | SCK | 10 | IO14 | IO18 | PA5 | 13 |
D1 | MOSI | 9 | IO13 | IO23 | PA7 | 14 |
RST | (任意のピン) | |||||
DC | (任意のピン) | |||||
CS | SS | 12 | IO15 | IO5 | PA4 | 16 |
以下から u8glib を入手してもいいのですが...
[スケッチ | ライブラリをインクルード | ライブラリを管理] から u8glib を探してインストールするのが簡単です。
サンプルスケッチの HelloWorld.pde は sys/arduino/HelloWorld/ にありますが、ここからコピーしてきてもいいでしょう。このスケッチでは LD7032 (I2C: 60x32) がデフォルトになっているので、以下の行を // でコメントアウトし、
|
以下の行を追記します。
|
コンパイルして実行するとデモが表示されます。接続方法は Adafruit ライブラリのもの (ソフトウェア SPI) と同じです
ハードウェア SPI で接続した場合には、
|
とすればよいでしょう。
See Also:
Arduino LEONARDO や Da Vinci 32U を本製品と組み合わせると...?
ICSP 端子に配線するにはオス<->メスのジャンパーワイヤーが必要な事に注意してください。
OLED | SPI | Leonardo | Da Vinci 32U |
GND | GND | 1 GND | |
VCC | 3V3 / 5V | 2 5V | |
D0 | SCK | SCK | SCK |
D1 | MOSI | MOSI | MOSI |
RST | 6 | 11 D6 | |
DC | 4 | 8 D4 | |
CS | SS | 12 | 10 D12 |
この組み合わせで Arduboy のライブラリが使えます。
但し、Arduboy の OLED が 1.3inch なのに対して本製品は 0.96inch なので若干見にくいです。Arduboy と同じ画面サイズ (1.3inch) で OLED コントローラが SSD1306 のものは入手しづらく割高です。OLED コントローラが SSD1306 でなければ、安価な 1.3inch OLED は存在しますが、Arduboy Library を改変する必要があります。
ここにある情報が役に立って、「調べる手間が省けたからオマイに飯でもおごってやるよ」 というハートウォーミングな方がいらっしゃいましたら、下のボタンからどうぞ。