ESP32で0.96インチの有機ELディスプレイをI2Cで使う

今回この記事では、0.96インチの有機ELディスプレイのSSD1306をESP32にI2Cを使って接続していきます。ファームウェアはArduino IDEを使っていきます。

SSD1306 0.96インチの有機ELディスプレイとは?

今回使っていく有機ELディスプレイはSSD1306という単色ディスプレイです。大きさは0.96インチで解像度が128×64ピクセルのI2C接続のできる、小さい情報を表示したいときに役に立つディスプレイです。

自分はAliexpressから200円弱で購入しました。ただ発送から1ヶ月ほど掛かるので今すぐ使いたい人はアマゾンで買うのもありだと思います。

Aliexpress 0.96 inch IIC Serial White OLED Display Module 128X64 I2C SSD1306

ディスプレイとESP32の接続

このディスプレイとはI2Cを使って接続します。

接続は以下のように接続してください。

ESP32Display
3.3VVDD
GNDGND
22SCK
21SDA

なぜこのように接続するかというとESP32のGPIO21と22がI2Cのピンとしても使えるようになっているからです。

ディスプレイを使うためのライブラリのインストール

もしまだESP32のセットアップをしていなければ上のリンク先でセットアップを行ってください。

ESP32でこのディスプレイを動かすためのソフトウェアはArduino IDEを使って準備していきます。

  • まずはじめにArduinoIDEを開きます。
  • このディスプレイを使えるようにするためのライブラリをインストールします。
  • Library Managerに行きます。Sketch Include Library > Manage Libraries
  • 下の画像のようなメニューが出てきます。
  • そこで”SSD1306”と検索をして”Adafruit SSD1306”というライブラリを最新版でいいのでインストールします。
  • 同じく”GFX”と検索して”Adafruit GFX Library”をインストールします。

サンプルコードでディスプレイを使ってみる

準備が整ったので、サンプルコードをアップロードしてみましょう。

ArduinoIDEでFile > Examples Adafruit SSD1306を選択してサンプルコードを出してみましょう。

すると、このディスプレイを使うためのサンプルコードが表示されます。

もし最初に紹介したディスプレイを使う場合以下の画像に載っている

define OLED_RESET 4 // Reset pin # (or -1 if sharing Arduino reset pin)

となっているところを4ではなく-1に変更します。もしお使いのSSD1306にリセットが別についている場合は4のままです。

ここまで終わったらESP32開発ボードとPCをUSBケーブルで接続します。

アップロードをする前にToolsを確認して以下のように設定してください。

ここまで終わったらもう一度保存をしてから左上にあるアップロードボタンを押します。

そうすると問題がなければコードがESP32に書き込まれて、リセットをすればプログラムが実行されるはずです。

実行動画

 まとめ

小さくて安くて便利な有機ELディスプレイはSSD1306をESP32と一緒に使っていきました。

サンプルコードを編集すれば、デバックで必要な情報を表示させたりと色々な用途があるのでぜひ使ってみて下さい。

コメント