ご無沙汰しております。最近ネタがなくてブログの更新をサボっていました。が、ESP32でOLEDモジュールを使うというネタができたので残しておきます。
1:材料
今回使ったOLEDは以下のものです。多色表示できるものもあるみたいですが、自分は青色単色のものを選びました。
2:ライブラリのインストール
「Adafruit-GFX-Library」というライブラリと「Adafruit_SSD1306」というライブラリの二つをインストールします。
Arduino IDEの「ライブラリをインクルード」→「ライブラリを管理」からライブラリマネージャを立ち上げて、以下のライブラリをインストールします。
3:配線
以下のように配線します。
ESP32側 | OLED側 |
---|---|
3V3 | VCC |
GND | GND |
GPIO22 | SCL |
GPIO21 | SDA |
4:サンプルを動かす
配線が終わったらAdafruit_SSD1306ライブラリのサンプルにある「ssd1306_128x64_i2c.ino」を開き、ソースの以下の部分を書き換えます。
. . . void setup() { Serial.begin(115200); // 58行目:元はSerial.begin(9600);のところをSerial.begin(115200);に書き換える。 // by default, we'll generate the high voltage from the 3.3v line internally! (neat!) display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialize with the I2C addr 0x3D (for the 128x64) 61行目:第二引数を0x3Cに書き換える。 . . .
書き換えが終わったら別名で保存し、ESP32に書き込んでください。すると、様々な図形描写のサンプルが表示されます。
以上がESP32のi2cでOLEDを使った内容です。これで液晶に文字などを表示することができるようになったので、色々と工作の幅が広がりそうです。
・参考資料
programresource.net