M5UnitOLED display(2, 1, 400000);
インスタンスを作成する際の SDA
と SCL
ピンの設定を変更することで適応できます。#include <M5Unified.h>#include <M5GFX.h>#include <M5UnitMiniOLED.h> M5UnitMiniOLED display(2, 1, 400000); // SDA, SCL, FREQ M5Canvas canvas(&display); static constexpr char text[] = "Hello world ! Hello Unit MiniOLED ! ";static constexpr size_t textlen = sizeof(text) / sizeof(text[0]);int textpos = 0;int scrollstep = 2; void setup(void){ M5.begin(); M5.Display.setFont(&fonts::lgfxJapanMinchoP_32); M5.Display.setTextDatum(middle_center); M5.Display.drawString("Unit MiniOLED Test", M5.Display.width() / 2, M5.Display.height() / 2); display.init(); display.setRotation(1); canvas.setColorDepth(1); // mono color canvas.setFont(&fonts::lgfxJapanMinchoP_16); canvas.setTextWrap(false); canvas.setTextSize(2); canvas.createSprite(display.width() + 64, 72);} void loop(void){ int32_t cursor_x = canvas.getCursorX() - scrollstep; if (cursor_x <= 0) { textpos = 0; cursor_x = display.width(); } canvas.setCursor(cursor_x, 20); canvas.scroll(-scrollstep, 0); while (textpos < textlen && cursor_x <= display.width()) { canvas.print(text[textpos++]); cursor_x = canvas.getCursorX(); } display.waitDisplay(); canvas.pushSprite(&display, 0, (display.height() - canvas.height()) >> 1);}
CoreS3 の場合、リセットボタンを 2 秒ほど長押しして、内部の緑色の LED が点灯したらボタンを離します。これでデバイスはダウンロードモードに入り、プログラム書き込みの準備が整います。
CoreS3 の PORT.A を使用して Unit MiniOLED を制御し、テキストのスクロール表示を行います。