micro:bitで小型有機ELディスプレイ「PiOLED」を動かしてみた

スポンサーリンク

I2Cで制御できる小型有機ELディスプレイ「PiOLED」を入手したので、テストも兼ねてmicro:bitで表示させてみた。

結果

こんな感じで表示できた。

f:id:sato_susumu:20200928191857j:plainf:id:sato_susumu:20200928191853j:plain

画面は小さいけど見やすい。

材料

仕様

Adafruit PiOLED

制御方式:I2C
制御チップ:SSD1306
解像度:128x32ドット
文字カラー:白色
I2Cアドレス:0x3C(=60)

ピン配置は説明しづらいので写真で。
f:id:sato_susumu:20200928191908p:plain

上段は端から 5V 5V GND
下段は端から 3.3V SDA SCL

Super:bit

Super:bitは充電池内蔵で、モータやサーボを動かすにはもってこいのmicro:bit拡張ボード。
micro:bitの細長い端子にアクセスしやすいようにブレイクアウト基板としての機能もあるけど、基板上の表記が間違っているのが惜しい。
基板上の表記は GND GND SCL SDA 3.3V 3.3Vとなっている。
正しくは SCL と SDAが逆なので、GND GND SDA SCL 3.3V 3.3V。

f:id:sato_susumu:20200928191901j:plainf:id:sato_susumu:20200928191905j:plain

MakeCode用プログラム(python)

プログラムから簡単に制御するには拡張機能が必要。
拡張機能の検索で「SSD1306」を検索すると、いくつか表示される。
そのうちの「OLED12864_I2C」を選択し、使用する。

OLED12864_I2C.init(60)

def on_forever():
    OD01.show_string("line 1 test", 0, 0, 1)
    OD01.show_string("line 2 test", 0, 1, 1)
    OD01.show_string("line 3 test", 0, 2, 1)
    OD01.show_string("line 4 test", 0, 3, 1)
basic.forever(on_forever)

OLED12864は128x64ドット。なので、PiOLEDで動かした場合、表示できるのは4行までなので注意が必要。