pdf-icon

Arduino入門

2. デバイス&サンプル

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

アクセサリー

6. アプリケーション

Tab5 microSD カード

Tab5 microSD カードに関連する API とサンプルコードです。

サンプルコード

コンパイル条件

  • M5Stack ボードマネージャバージョン >= 3.2.2
  • 開発ボードオプション = M5Tab5
  • M5Unified ライブラリバージョン >= 0.2.8
  • M5GFX ライブラリバージョン >= 0.2.11
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 59 60 61 62
#include <Arduino.h>
#include <SPI.h>
#include <SD.h>
#include <M5Unified.h>
#include <M5GFX.h>

#define SD_SPI_CS_PIN   42
#define SD_SPI_SCK_PIN  43
#define SD_SPI_MOSI_PIN 44
#define SD_SPI_MISO_PIN 39

void setup()
{
    M5.begin();

    M5.Display.setRotation(1);
    M5.Display.setFont(&fonts::FreeMonoBold18pt7b);

    // SDカード初期化
    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)) {
        // SDカードの初期化に失敗、または存在しない場合にメッセージを表示
        M5.Display.print("\n SD card not detected\n");
        while (1);
    } else {
        M5.Display.print("\n SD card detected\n");
    }
    delay(1000);

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

    M5.Display.print("\n SD card read test...\n");
    if (SD.open("/TestPicture01.png", FILE_READ, false)) {
        M5.Display.print(" PNG file 01 detected\n");
    } else {
        M5.Display.print(" PNG file 01 not detected\n");
    }
    if (SD.open("/TestPicture02.png", FILE_READ, false)) {
        M5.Display.print(" PNG file 02 detected\n");
    } else {
        M5.Display.print(" PNG file 02 not detected\n");
    }
}

void loop()
{
    // PNGファイルを読み込み画像を描画
    M5.Display.drawPngFile(SD, "/tab5_test_picture_1280_x_720_01.png");
    delay(1000);
    M5.Display.drawPngFile(SD, "/tab5_test_picture_1280_x_720_02.png");
    delay(1000);
}

microSD カードを FAT32 形式でフォーマットし、ルートディレクトリに解像度 720*1280PNG 画像を2枚配置し、TestPicture01.pngTestPicture02.png と命名してください。(サンプル画像1サンプル画像2 を直接ダウンロードしても構いません。画像の解像度が 720*1280 でない場合、プログラムの設定によって表示方式が変わり、表示が崩れる可能性があります。)

この SD カードを Tab5 に挿入してください。SD カードの端子面は Tab5 のスクリーンと同じ方向に向けます。上記コードを Arduino IDE にコピーしてコンパイルし、Tab5 に書き込みます。

このプログラムは SD カードに WriteTest.txt というテキストファイルを作成して文字列を書き込み、その後 SD カード内の PNG 画像2枚をループ再生します。

API

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

On This Page