Arduino入門
CoreS3 が microSD カード内の画像ファイルを出力するサンプルプログラム。
#include <Arduino.h>
#include <SPI.h>
#include <SD.h>
#include <M5Unified.h>
#include <M5GFX.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.setTextFont(&fonts::Orbitron_Light_24);
M5.Display.setTextSize(1);
// 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カードが検出されません\n");
while (1)
;
} else {
M5.Display.print("\n SDカードが検出されました\n");
}
delay(1000);
// TXTファイル書き込み
M5.Display.print("\n SDカード書き込みテスト...\n");
auto file = SD.open("/WriteTest.txt", FILE_WRITE, true);
if (file) {
file.print("Hello, world! \nSDカードへの書き込み成功! \n");
file.close();
M5.Display.print(" SDカードへの書き込み成功\n");
} else {
M5.Display.print(" TXTファイルの作成に失敗しました\n");
}
delay(1000);
M5.Display.print("\n SDカード読み取りテスト...\n");
if (SD.open("/TestPicture01.png", FILE_READ, false)) {
M5.Display.print(" PNGファイル01が検出されました\n");
} else {
M5.Display.print(" PNGファイル01が検出されません\n");
}
if (SD.open("/TestPicture02.png", FILE_READ, false)) {
M5.Display.print(" PNGファイル02が検出されました\n");
} else {
M5.Display.print(" PNGファイル02が検出されません\n");
}
}
void loop() {
// PNGファイルを読み込み、画像を描画する
M5.Display.drawPngFile(SD, "/TestPicture01.png");
delay(1000);
M5.Display.drawPngFile(SD, "/TestPicture02.png");
delay(1000);
}