今回は、ArduinoでOLED ディスプレイ SSD13061(I2C) を動かして見ましたので、基本的な使い方を解りやすく解説したいと思います。
実行環境
- 自作Arduino または(Uno,Nano)
- アルディーノIDE2.3.2
- 128×64ドット有機ELディスプレイSSD1306
- Windows11
アルディーノIDE2.3.2インストール
アルディーノIDE 2.3.2 をお持ちでない方は下記のようにインストールしてください。
まず、このアルディーノサイトに行きます。
下図のインストール部分をクリックして、プログラムをダウンロードしてください。
完了したら、ダウンロードフォルダのインストーラープログラムをダブルクリックして、指示通り(YES)で進めばインストールが完了します。

SSD1306
秋月電子で購入したSSD 1306(I2C)を使います。

接続図
今回は、前回のブログで作った自作のアルディーノの互換機を使って動かしてみました。

Aruduino-Nanoを使った場合の接続方法はこちらです。

ライブラリーのインストール
ライブラリーは2つ必要となります。
Adafruit GFX Library by Adafruit
Adafruit SSD1306 by Adafruit
アルディーノIDE2.3.2でのインストールは、1回の操作で2つのライブラリーが自動的にインストールされ非常にかんたんになりました。
インストール方法は初めに、スケッチ、ライブラリーインクルード、ライブラリー管理と進み、ライブラリーマネージャーの欄にSSD1306と入れると下記の画面になります。

次にAdafruit SSD1306①インストール、②全てをインストールと進むとインストールが完了します。
また、ここでインストールしたライブラリーは、Arduino1.8.19がインストールされているとこちらでも自動的に使えるようになるようです。

テストスケッチ
詳しい使い方は、Adafruitサンプルスケッチにかなり詳しく書かれておりますので、興味のある方はそちらを参考にしてください。
とりあえず、シンプルなスケッチを動かし基本的な部分を解説していきたいと思います。
#include <Wire.h>
#include <Adafruit_GFX.h> //Adarfuitのライブラリーを読み込む
#include <Adafruit_SSD1306.h> //AdarfuitのSSD1306用ライブラリーを読み込む
const int i2c_ADDRESS = 0x3C; //I2Cのアドレス指定
Adafruit_SSD1306 display( 128, 64, &Wire); //ディスプレイ制御用のインスタンスを作成。
void setup() {
Serial.begin(115200);
display.begin(SSD1306_SWITCHCAPVCC, i2c_ADDRESS ); //ディスプレイを初期化。
display.clearDisplay(); //画面描写をクリアー
delay(1000);
}
void loop() {
display.clearDisplay();
display.setTextColor( WHITE, BLACK ); //文字を白、背景黒
display.setTextSize( 1 ); //文字サイズ
display.setCursor( 0, 0 ); //表示位置
display.print( " Hello World " );
display.setTextColor( SSD1306_BLACK, SSD1306_WHITE ); //このような設定でもOK 文字を黒、背景白
display.setTextSize( 2 );
display.setCursor( 0, 8 );
display.print( " Hello " );
display.setTextColor(BLACK,WHITE);
display.setTextSize( 1 );
display.setCursor( 0, 24 );
display.print("ABCDE");
display.drawRect(0,36,50,8,WHITE); //中抜き四角形
display.fillRect(0,48,50,8,WHITE); //四角形
display.drawLine(0,60,60,60,WHITE); //水平線
display.display(); //画面に表示する
}
上記のスケッチには、ありませんが改行プリントは
display.println(“aaaaaaaaaa”); です。
これだけの命令でも、普通の使いかたはできると思います。上にも書きましたが、興味のある方はサンプルスケッチを参考に高度な使いかたを勉強するのもいいと思います。
