ArduinoとHiLetgo I2C 128×64 OLED SSD1306液晶サクッと!動作確認!
目次
HiLetgo 0.96″ I2C シリアル 128×64 OLED LCDディスプレイSSD1306液晶 STM32/51/MSP430/Arduinoに対応 ブルーイエロー
名前が長い!
[amazonjs asin=”B071ZPFDWW” locale=”JP” title=”HiLetgo 0.96″ I2C シリアル 128×64 OLED LCDディスプレイSSD1306液晶 STM32/51/MSP430/Arduinoに対応 ホワイト 並行輸入品”]
こちらのものが気になっていて、アマゾンから購入しました!
何に使うかがまだこれから決めます!笑。
一番使いそうなのは、ロボットの目とか、表情を出せるといいですね。
その前、まず色々実験しなければいけません。
これはAdafruitのこの商品の互換品です。
なので、これから説明しますが、ライブラリーもAdafruitのライブラリーを使います。
主な仕様は次のようになっています。
- I2C通信
- ディスプレイコントローラ: SSD1306
- 解像度: 128×64
- 電圧: 3.3V-5V
今回実験の環境
- Arduino IDE: バージョン 1.8.5
- Arduino本体: Arduino UNO R3
ライブラリ
- Adafruit SSD1306: バージョン 1.1.2
- Adafruit GFX-Library: バージョン 1.1.5
後ほど、インストールの詳細を説明します。
I2Cのアドレスの確認
OLEDディスプレイを背面を見てください、I2Cアドレスを確認します。
上の写真のように、0x78に側に接続されているか、0x7A側に接続されているかでI2Cアドレスが次のように異なります。
接続先 | I2Cアドレス |
---|---|
0x78側に接続されている | 0x3C |
0x7A側に接続されている | 0x3A |
私のモジュールでは「0x78」と記載していますので
重要!これからプログラムの中で、アドレスを「0x3C」に修正する必要があります。
配線について
OLEDディスプレイの正面側にピン名が表記されています。
左から、GND、VCC、SCL、SDAです。
Arduino Uno R3の場合、次のように繋げてください。
Arduino Uno R3 | OLEDディスプレイ |
---|---|
GND | GND |
5V | VCC |
SCL | SCL |
SDA | SDA |
ライブラリーのインストール
IDEのメニュー「スケッチ > ライブラリをインクルード > ライブラリを管理…」からインストールします。
①Adafruit SSD1306
ライブラリマネジャで「ssd1306」を入力して検索します。
最新のライブラリーをインストールしてください。
②Adafruit GFX Library
ライブラリマネジャで「gfx」を入力して検索します。
最新のライブラリーをインストールしてください。
サンプルプログラムの修正
上記のライブラリーをインストールしましたら
ArduinoのIDEからサンプルのスケッチも見つかるはずです。
①サンプルスケッチ開いて修正
そのプログラムに、上で確認したSSD1306モジュールのアドレスをここで「0x3C」に修正してください。
直さないと、コンパイルエラーになります。
②ライブラリーのヘッダーファイルを修正
ライブラリーのヘッダーファイル「Adafruit_SSD1306.h」二箇所修正します。
まず、手持ちの物理モジュールのアドレスを「0x3C」に修正してください。
( MacOSでspotlightで一発で検索して見つかります!)
次は、モジュールのサイズを下のように設定します。「#define SSD1306_128_64」
いよいよ動かす!
コンパイルして、Arduinoに書き込めば
Adafruitのロゴが現れます!
できました!
まとめ
さすがoledですから、結構綺麗です!
アニメーションもそれなりにスムーズです。
これで750円で、本当にびっくりです。
[amazonjs asin=”B071ZPFDWW” locale=”JP” title=”HiLetgo 0.96″ I2C シリアル 128×64 OLED LCDディスプレイSSD1306液晶 STM32/51/MSP430/Arduinoに対応 ホワイト 並行輸入品”]
[amazonjs asin=”B0044X2E5S” locale=”JP” title=”【永久保証付き】Arduino Uno”]
本気でロボットの目を考えています!笑。
では、また!