pdf-icon

Arduino入門

2. デバイス&サンプル

Unit MiniOLED Arduino チュートリアル

1. 準備

    1. 環境設定: Arduino IDE のはじめにガイド を参考にして、IDE をインストールし、使用する開発ボードに対応するボードマネージャと必要なドライバライブラリをインストールしてください。
    1. 使用するライブラリ:
    1. 使用するハードウェア:

2. サンプルプログラム

サンプルの説明
Unit MiniOLED は 1.3 インチの OLED 拡張ディスプレイユニットです。この例では、CoreS3 のメインコントローラーが PORT.A 拡張インターフェースを使用して制御し、テキストのスクロール表示を実現します。別の M5Stack コントローラーを使用する場合は、M5UnitOLED display(2, 1, 400000); インスタンスを作成する際の SDASCL ピンの設定を変更することで適応できます。
cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
#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);
}

3. コンパイルとアップロード

    1. ダウンロードモード:異なるデバイスではプログラム書き込み前にダウンロードモードに入る必要があります。この手順は使用するメインコントロールデバイスによって異なる場合があります。詳細については、Arduino IDE のはじめにガイド を参照し、デバイスごとのダウンロード手順をご確認ください。
  • CoreS3 の場合、リセットボタンを 2 秒ほど長押しして、内部の緑色の LED が点灯したらボタンを離します。これでデバイスはダウンロードモードに入り、プログラム書き込みの準備が整います。

    1. デバイスのポートを選択し、Arduino IDE の左上にあるコンパイル&アップロードボタンをクリックして、プログラムのコンパイルとアップロードを行います。

4. Hello World

CoreS3 の PORT.A を使用して Unit MiniOLED を制御し、テキストのスクロール表示を行います。

On This Page