0.96インチ OLEDディスプレイモジュール I2C 128×64 SSD1306 ブルー

部品箱を漁っていたら出てきた小さなディスプレイモジュール。

0.96インチ OLEDディスプレイモジュール 表面
0.96インチ OLEDディスプレイモジュール 裏面

裏面を見るとIIC ADDRESS SELECTとか書いてあって、0x78と0x7Aが選択できるようになっていて、これに騙された…(ここ注意!0x78は0x3Cになるらしい。)

型番とかわからないので、「1インチ i2c 液晶」で検索したらAmazonで違う商品が出たが、関連商品に4ピンのものを発見したので、それと思って「0.96インチ oled i2c」で検索しなおしたら、このページを発見。
https://programresource.net/2015/05/09/2616.html

早速、Arduino IDEでAdafruit SSD1306のライブラリをインストール。

Arduuino IDEでライブラリをインストール(その1)

まずはArduino IDEの「ツール」メニューから「ライブラリを管理…」を選択。

Arduino IDEでライブラリをインストール(その2)

ライブラリマネージャで「adafruit ssd1306」を検索というかフィルタリング。(この図は既にインストールしちゃった後の図なので、インストールボタンの位置とか違っています。)
そして、インストール。

Adafruit SSD1306のサンプルからSSD1306_128x64_i2cを選択
Arduinoと接続

Arduinoの5V, GND, A4, A5にそれぞれ赤, 茶, 黄, オレンジをつないで、OLED側のGND, VCC, SCL, SDAに茶, 赤, オレンジ, 黄をつないだ。

I2Cアドレスが最初は0x3C(これで正しかった)になっていたのを0x78に書き換えて走らせるけど動かない…Adafruit SSD1305のライブラリとかインストールしたりしたけど、動かない…困って検索していたらこのページを見つけた。
https://programresource.net/2020/02/20/2891.html

早速、i2c_scannerをコピペして実行すると、0x3Cに見つかった…

最初のサンプルのI2Cアドレスを0x3Cに戻して実行すると、すんなりと動いた…

動いた時の記録

追記
Amazonの商品説明のところに、「I2Cアドレスが変更可能:0x78に接続すると、0x3Cになります:0x7Aに接続すると、0x3Dになります」って書いてあった…

追記2
3年近く前に記事を書いていた。当時もAdafruit SSD1306ライブラリで動かせなかったようで、この時もI2Cアドレスを間違えていたのかも知れない。
https://physicom.ossantube.com/?p=6135

カテゴリー: Arduino, 部品 タグ: , , , , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA