- インストール
- 基本操作
- 電子工作向けプログラミングの基本
- Excel向けプログラミングの基本
- scikit-learnでの機械学習
- matplotlibでのデータの可視化
- Web関連プログラミング
- RPA関連プログラミング
- その他の各種プログラミング
- リファレンス
OLEDディスプレイの制御
SSD1306コントローラまたはSH1106コントローラのOLEDディスプレイを制御することができます。
以下のタイプのものが対象です。
- SH1106コントローラ、128×64ピクセル
- SSD1306コントローラ、128×64ピクセル
- SSD1306コントローラ、128×32ピクセル
また、接続のインターフェースは、I2CとSPIに対応しています。
SSD1306と互換性がある他のコントローラのOLEDディスプレイも、SSD1306の設定にすることで、動作する場合があります。
OLED関係のブロックは、「ディスプレイ」→「OLED」のグループにあります。
配線
OLEDディスプレイはI2CまたはSPIでマイコンに接続します。
I2Cでの配線
I2Cで接続する場合、一般的なI2C対応のモジュールと同様に、OLEDディスプレイのSDA/SCLのピンを、マイコンのSDA/SCLのピンに接続します。
例えば、無印のESP32にI2CでOLEDディスプレイを接続する場合、配線は以下の図のようになります。
SPIでの配線
SPIで接続する場合、OLEDディスプレイのMOSI(またはSDA)のピンとSCKのピンを、マイコンのMOSI/SCKのピンに接続します。
また、OLEDディスプレイのDC/CS/RESのピンは、GPIOの任意のピンに接続します。
例えば、無印のESP32(MOSIが19番ピン、SCKが18番ピン)で、DC/CS/RESをそれぞれ2/4/5番ピンに接続する場合、配線は以下の図のようになります。
初期化
接続方式に応じた初期化のブロックを使って、OLEDディスプレイを初期化します。
無印のESP32など、I2CやSPIのピン番号が固定になっているマイコンでは、それらのピン番号の指定がない初期化のブロックを使います。
![]()
一方、I2CやSPIのピン番号を自由に設定できるマイコンでは、それらのピン番号の指定がある初期化のブロックを使います。
描画
初期化ができたら、線や円などのブロックを組み合わせて、OLEDディスプレイに描画します。
ただし、描画のブロックを実行しても、すぐには表示されません。これについては後述します。
![]()
![]()
文字を描画する際には、まずフォントを指定しておきます。
ArduinoファームウェアとBlinkaファームウェアで、フォントを指定するブロックが異なります。
また、Arduinoファームウェアでは、文字を描画するブロックの中に、日本語と英数字を混在させることはできません。
描画結果の表示
線や円などのブロックで描画をし終わったら、描画結果を表示するブロックを実行します。
これによって、OLEDディスプレイに描画結果が表示されます。
![]()
バッファのクリア
OLEDディスプレイに描画結果を表示したままの状態で、次に表示したい描画を準備するには、バッファのクリアのブロックを使います。
![]()
なお、ディスプレイのクリアのブロックでは、OLEDディスプレイの表示もクリアされます。
![]()
サンプルプログラム
サンプルプログラムは以下からダウンロードすることができます。
描画関係の各ブロックを使って、点/線/四角/円/文字を表示する例になっています。
初期化のブロックは、お使いのマイコンに合わせて変更してご利用ください。