mpaper_sd_logger.ino

M5Stack M5Paper · Fichier : mpaper_sd_logger.ino · Langage : C++ · Usage : Enregistrer des données temporelles dans un fichier CSV sur la carte SD interne.

Journalisation de données capteurs dans un fichier CSV sur la carte SD du M5Paper.

Matériel : M5Paper avec une carte SD formatée FAT32 insérée. Logiciel : Bibliothèques SD.h et FS.h. Exécution : Vérifie la présence de la carte, crée un fichier 'log.csv' et y ajoute des lignes toutes les 5 secondes. Affiche les dernières données sur l'écran.

mpaper_sd_logger.ino

#include <M5Paper.h>
#include <SD.h>
#include <FS.h>

// Le M5Paper a un slot SD intégré
#define SD_CS 5 // Chip Select pour le lecteur SD sur M5Paper

File myFile;

void setup() {
  M5.begin();
  Serial.begin(115200);

  if (!SD.begin(SD_CS)) {
    M5.display.println("Card Mount Failed");
    return;
  }
  
  // Créer ou ouvrir un fichier
  myFile = SD.open("log.csv", FILE_WRITE);
  if (myFile) {
    myFile.println("timestamp,value");
    myFile.close();
    M5.display.println("SD Ready");
  } else {
    M5.display.println("Error opening file");
  }
  M5.display.update();
}

void loop() {
  // Simuler une donnée (ex: température aléatoire)
  float sensorValue = random(200, 300) / 10.0;
  unsigned long now = millis();

  myFile = SD.open("log.csv", FILE_APPEND);
  if (myFile) {
    myFile.print(now);
    myFile.print(",");
    myFile.println(sensorValue);
    myFile.close();
    
    M5.display.clear();
    M5.display.setCursor(0, 0);
    M5.display.println("Logged:");
    M5.display.print(now);
    M5.display.print(" ms : ");
    M5.display.println(sensorValue);
    M5.display.update();
  }
  delay(5000); // Enregistrer toutes les 5 secondes
}

← Retour à la fiche