Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

M5stackのSDカードを読み込む

実際のところ

#include <M5Stack.h>
#include <SD.h>

File myFile;
double imuData[3]; // pitch, roll, yaw

void setup() {
    M5.begin();
    M5.Lcd.fillScreen(TFT_BLACK); // 画面をクリア
    SD.begin(TFCARD_CS_PIN);

    myFile = SD.open("/temp.txt");
    if (myFile) {
        while (myFile.available()) {
            // バイナリデータを読み込む
            myFile.read((uint8_t*)imuData, sizeof(imuData));

            // バイト配列からdouble値に変換
            memcpy(&imuData[0], &imuData[0], sizeof(double));
            memcpy(&imuData[1], &imuData[sizeof(double)], sizeof(double));
            memcpy(&imuData[2], &imuData[2 * sizeof(double)], sizeof(double));

            // 値をLCDに表示
            M5.Lcd.printf("YAW: %.2f\n", imuData[0]);
            M5.Lcd.printf("PITCH: %.2f\n", imuData[1]);
            M5.Lcd.printf("ROLL: %.2f\n", imuData[2]);
        }
        myFile.close();
    } else {
        M5.Lcd.println("temp.txtを開けませんでした");
    }
}

void loop() {
    // 他のコードをここに追加
}

参考もと