pdf-icon

Arduino入門

2. デバイス&サンプル

5. 拡張モジュール&サンプル

アクセサリー

6. アプリケーション

StackChan microSD カード

StackChan microSD カードに関連する API とサンプルプログラムです。

サンプルプログラム

ビルド要件

  • M5Stack ボードマネージャーバージョン >= 3.2.2
  • ボード設定 = M5CoreS3
  • M5Unified ライブラリバージョン >= 0.2.11
  • M5GFX ライブラリバージョン >= 0.2.18
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 47 48 49 50 51 52 53 54 55 56 57 58
#include <SPI.h>
#include <SD.h>
#include <M5Unified.h>

#define SD_SPI_CS_PIN    4
#define SD_SPI_SCK_PIN  36
#define SD_SPI_MISO_PIN 35
#define SD_SPI_MOSI_PIN 37

void setup() {
    M5.begin();

    M5.Display.setFont(&fonts::FreeMono12pt7b);
    M5.Display.clear();

    SPI.begin(SD_SPI_SCK_PIN, SD_SPI_MISO_PIN, SD_SPI_MOSI_PIN, SD_SPI_CS_PIN);

    if (!SD.begin(SD_SPI_CS_PIN, SPI, 25000000)) {
        M5.Display.println("SD card not detected");
        while (1);
    } else {
        M5.Display.println("SD card detected");
    }
    delay(1000);

    M5.Display.println("SD card write test...");
    auto file = SD.open("/WriteTest.txt", FILE_WRITE, true);
    if (file) {
        file.print("Hello, world! \nSD card write success! \n");
        file.close();
        M5.Display.println("SD card write success");
    } else {
        M5.Display.println("Failed to create TXT file");
    }
    delay(1000);

    M5.Display.println("SD card read test...");

    if (SD.exists("/cores3_test_picture01.png")) {
        M5.Display.println("PNG file 01 detected");
    } else {
        M5.Display.println("PNG file 01 not detected");
    }

    if (SD.exists("/cores3_test_picture02.png")) {
        M5.Display.println("PNG file 02 detected");
    } else {
        M5.Display.println("PNG file 02 not detected");
    }
    delay(1000);
}

void loop() {
    M5.Display.drawPngFile(SD, "/cores3_test_picture01.png");
    delay(500);
    M5.Display.drawPngFile(SD, "/cores3_test_picture02.png");
    delay(500);
}

microSD カードを用意し、FAT32 形式でフォーマットしてください。解像度 320 * 240 の PNG 画像を2枚用意し、ルートディレクトリに cores3_test_picture01.png、cores3_test_picture02.png という名前で保存してください。test_picture01.pngtest_picture02.png を直接ダウンロードすることもできます。画像の解像度が 320*240 でない場合、プログラムはプリセットに基づいて表示方法を決定するため、表示が正常に行われない場合があります。

SD カードを StackChan に挿入する際は、SD カードの接触面が StackChan の画面と同じ方向を向くようにご注意ください。上記のコードを Arduino IDE にコピーし、コンパイルして StackChan に書き込んでください。

このプログラムは SD カード上にテキストファイル WriteTest.txt を作成してテキストを書き込み、その後 SD カード内の2枚の PNG 画像を繰り返し表示します。

API

StackChan の microSD カード部分には、Arduino 標準の SD ライブラリと M5GFX ライブラリの drawPngFile 関数が使用されています。関連する API の詳細については、以下のドキュメントをご参照ください。

On This Page