Arduino環境で使えるOLEDモジュール

it

これまでに使ってみたArduino環境で使用できるOLEDモジュールを紹介します。
SSD1306, SSH1106 のI2C/SPI 単色、カラー、0.4inchから2.4inchサイズまで様々あります。

記事の目的

これまでに入手、使ってみたArduino環境で使用できるOLEDモジュールを紹介します。
以下モジュールを使用する準備、使用感を記載します。
・単色OLED(SSD1306 – I2C/SPI)
・単色OLED(SSD1309 – I2C/SPI)
・単色OLED(SSH1106 – I2C)
・カラーOLED (SSD1331 – SPI)
の紹介をします。

使用感は主観であり目的に合わないことがあることを了承ください。

本記事ではモジュールを制御するためのライブラリの取得およびサンプルコードは掲載していません。
各モジュール記事にサンプルコードを掲載するのでリンクをクリックして移動します。
(リンクのない記事は作成途中です)

OLEDモジュール

Arduino環境ではライブラリが豊富で手軽に表示ができる。
1inchから2inch前後が主流で、国内ショッピングサイト、通販サイト他、安価で入手性がよい。

主な特徴
・ドット自身が発光するためバックライトが不要でコントラストが高い(視認性がよい)
・モニタを斜めから見ても色味の変化はほとんどないため視野角が広い。

OLEDモジュール

単色OLED(SSD1306 / I2C)

Noサイズ(inch)、外観ドライバ制御解像度
W,H
81.54inch 透過単色OLED
SSD1306I2C/SPI128,64
70.91inch カラーOLED
SSD1331SPI128, 64
62.42inch 単色OLED
SSD1309I2C/SPI128, 64
51.54inch 単色OLED
SSD1309I2C/SPI128, 64
41.3inch 単色OLED
SSH1106I2C/SPI128, 64
30.49inch 単色OLED
SSD1306I2C64, 32
20.91inch 単色OLED
SSD1306I2C128, 32
10.92inch 単色OLED
SSD1306I2C/SPI128, 64

RP2040 搭載基板の一覧

ここからは、入手、使用したことのある基板の使用感を主観的に紹介します。
技術レベルや使用目的から一致しないことがありますので理解ください。

No8. 1.54inch SSD1306 I2C/SPI 透過OLEDモジュール

ディスプレイ部が透過なユニークなモジュールです。
発光色は青のみ見たことがあります。
透過部は光沢が強く、極細ワイヤーのようなものが見えるため窓ガラスほどの透過感はありません。
薄いガラス板のようなディスプレイは、背面からクッションで保護できないため取り扱いは慎重さが必要です。

購入時にI2C/SPIを選択します。
この画像の基板はI2C配線にRESET配線が必要です。

制御基板とOLEDディスプレイ側はコネクタで分離することができます。
1.5inchより大きいものはモニタと基板の入れ替えができるものが多く、基板側のピン配置の使いやすい基板と組み合わせて使用することができます。

No7. 0.91inch SSD1331 SPI カラーOLEDモジュール

唯一のフルカラーOLEDモジュールです。
画素自体がカラー発光するのでくっきりとした鮮やかな発色です。

同サイズのLCD(画像右 ST7735 0.96inch)と比べると、LCDのほうがきれいに見えます。
OLEDとLCDでは表示に得手不得手があるようです。
OLEDは視野角が広く斜めから見てもコントラストが変化することがありません。

通信制御はSPIのみです。

No6. 2.42inch SSD1309 SPI 単色OLEDモジュール

最大クラスのサイズです。
画面は大きくても視認性が良いですが、SSD1306と同じ解像度でドットが拡大しています。
発光色は白、青、黄、緑があるようです。
OLEDの中では少し輝度が低いと感じます。

Arduino上ではAdafruitライブラリを使用していますが、SSD1306同じライブラリとスケッチが動作します。

通信制御は購入するモデルによりさまざまです。
購入時にI2C/SPIを選択するもの、SPIのみで販売しているものがあり、一部の実装部品を付け替えることでI2CとSPI通信を変更できるモデルもあるようです。
下の画像は、先人の知恵をいただきながらSPIをI2Cで動作するように変更した基板です。

配線用のスルーホールも画面上部または左右部のどちらかにあるものなど、基板そのもののバリエーションが見られます。

No5. 1.54inch SSD1309 I2C/SPI 単色OLED

画像左がI2C, 画像右がSPI接続のモニタで、実用的な大きさです。
解像度はSSD1306 0.92inchと同じ128, 64Pixelなのでドットが粗く見えますが、だいぶ見やすいと感じます。

発光色は白、青、黄があるようです。

通信はI2CとSPIがあり、購入時にどちらにするかを選択します。
当方の所有するI2CではRESET端子が増えていますが、スケッチでピンを指定しなくても動作しました。(VCC, GND, SCL, SDAの4本で配線)
SSD1306 0.92inchと同じモジュールライブラリとスケッチをそのまま使用することができ、同じ配線で使用することができるため、単純に表示部を大ききしたいときの互換に使用できます。

背面のフィルム配線はコネクタで着脱できるので、OLEDの故障では表示部だけの交換ができます。
画像左がI2Cで、画像右はSPIです。
表示部を交換できます。

No4. 1.3inch SSH1106 I2C/SPI 単色OLEDモジュール

SSD1306 0.96inchでは小さいと感じたら価格感とサイズでヒットするモジュールです。
発光色は青と白があるようです。

SSH1106 にはSSD1306からの置き換えを考えた場合2つの注意点が必要です。
・ライブラリが違う。
・I2Cモジュールはピン配置の違うモデルがある。

当方ライブラリはAdafruit製を使用しています。
Arduino環境からダウンロードできないため、Githubからダウンロードしてのインストールしています。
ライブラリの命令セットをほとんど同じなので、インクルード、クラス名などの軽微な修正で使用できます。

画像に紹介している基板は探せば出てくる、SSD1306とピン互換の基板です。
以下の画像の中央と、右の基板はSSD1306とピン互換のない基板です。

No3. 0.49inch SSD1306 I2C 単色OLEDモジュール

所有する最小のOLEDです。
解像度も 64, 32Pixel なので表示できる情報はほとんどありません。
実用的には難しいですが、インジケータにLEDを光らせるよりはグラフィカルに情報を伝えることができます。

通信はI2Cのみで、SPIを付けるだけの基板面積も無いように見えます。
下の画像は2.42inchと0.92inchの画像と比べたものです。

No2. 0.91inch SSD1306 SPI 単色OLEDモジュール

0.92inchと同じ SSD1306 ですが、解像度はHightが半分の32Pixelです。
横長に見えるディスプレイの左右は余白なので表示されません。

側面に配線のためのピンヘッダがついています。
通信はI2Cのみ確認しています。

スケッチの設定では解像度に128, 64設定することもできます。
以下の画像では全く同じ表示をSSD1306 0.92inch(画像上)とSSD1306 0.91inch(画像下)に行っています。
表示上部2列はテキストサイズ2で下部2列はテキストサイズ1です。
テキストサイズ2では文字の認識ができますが、テキストサイズ1ではつぶれてしまっています。
縦方向のPixcelピッチは0.91inchの方がピッチが細かいようで、縦方向の隙間はあまり見えません。
結果的に輝度が明るく見えます。

No1. 0.92inch SSD1306 I2C 単色OLEDモジュール

OLEDで最も出回っているモジュールだと思います。
表示器としてのサイズは小さいが、価格と入手性がよい。

I2Cは電子工作の配線経験がなくても少ない配線で表示できる手軽さが良いと思います。
SPIは配線数は多くピンの差し間違いしやすくなりますが、表示速度は比較にならない速さがあります。





コメント

タイトルとURLをコピーしました