
Arduino入門
CoreS3 microSD カード関連 API およびサンプルプログラム。
#include <SPI.h>
#include <SD.h>
#include <M5Unified.h>
// ========== CoreS3 SD Card Correct Pin Definitions ==========
#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();
// ========== SD Card Initialization (Using Correct Pins) ==========
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);
// ========== Write Test ==========
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);
// ========== Read Test ==========
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);
}FAT32 形式でフォーマットした microSD カードを準備し、ルートディレクトリに 320 * 240 解像度の PNG 画像を2枚配置して cores3_test_picture01.png、cores3_test_picture02.png と命名してください。cores3_test_picture01.png、cores3_test_picture02.png を直接ダウンロードすることもできます。画像の解像度が 320*240 でない場合、プログラムはプリセットに基づいて表示方法を決定するため、表示に異常が発生する可能性があります。
この SD カードを CoreS3 に挿入してください。SD カードの接点が CoreS3 の画面と同じ方向を向くようにしてください。上記のコードを Arduino IDE にコピーし、コンパイルして CoreS3 にアップロードしてください。
このプログラムは SD カードにテキストファイル WriteTest.txt を作成してテキストを書き込み、その後 SD カード内の2枚の PNG 画像をループ表示します。
CoreS3 microSD カードセクションは Arduino 組み込みの SD ライブラリと M5GFX ライブラリの drawPngFile を使用しています。関連する詳細な API については、以下のドキュメントを参照してください: