拡張機材micro:bitのLEDに温度などの数値を表示すると、スクロールして読み取りに苦労することがあります。そこで、比較的安価で手に入るOLEDディスプレーをつないでみることにしました。制御チップにSSD1306を使ったものなら、MakeCodeエディターで拡張機能を使ってブロックプログラミングができます。今回はこれを使ってみました。中国直送のものなら半額ぐらいであります(到着までに時間がかかる)。購入したディスプレーにはピンヘッダーが別パーツで付いていたので、自分ではんだ付けしました。出ている端子は、VCC/GND/SCL/SDAで、micro:bitのエッジコネクターと次のようにつなぎます。該当するピンにジャンパーワイヤーを差し込むmicro:bitとディスプレーの接続ができたら、MakeCodeエディターに拡張機能を追加します。右上の歯車マーク→「拡張機能」で、「SSD1306」を検索。拡張機能は新しく追加されることがあるので、検索時期によって利用できるものが異なるちょっと前までは右上の2つしかなかったはずが、合計6種類に増えていました。それぞれ機能が微妙に違うので、試してみるといいでしょう。今までポピュラーだった右上の「OLED12864_I2C」を入れてみます。プログラムはこんな感じ。ボタンAを押すと、1行目に「Hello!」、2行目に温度を表示ドット絵のような文字が表示されるディスプレーの解像度は128×64ドットありますが、ドット絵のような文字が表示されます。全体の文字数は、13X4文字。1行目は黄色になってますが、残念ながら色の指定ができるわけではありません。このディスプレーは、1行目相当部分が黄色固定、残りは青色固定になっています。次に、新興のXinaBoxのモジュール用に用意されている拡張機能「OD01」を入れてみます。ちなみに、XinaBoxのモジュールには、micro:bitにWi-Fi機能を付けるものがあったりして面白そうです(日本では使えませんが)。「OD01」の方が用意されているブロックが多くて、機能も豊富。21×8文字表示できます。文字は小さくてちょっと読みにくいかもしれません。「OLED12864_I2C」のドット絵風もかわいいので、お好みで。注意点としては、今回使ったディスプレーのI2Cアドレスが、たまたまXinaBoxの「OD01」と同じだったのですが、違う場合はこの拡張機能は使えないかもしれません。SSD1306を使ったOLEDディスプレーには、I2Cアドレスが60(0x3C)と61(0x3D)のものがあるようです。[追記]OLEDディスプレーの裏面を見ると、I2Cアドレスを変更できるようになっていました。抵抗が「0x78」側にあれば「0x3C」、「0x7A」側なら「0x3D」になります。抵抗が面実装用のとても小さなチップなので、自分で変更するのは難しそうです。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。WordPress.。