m5paper_sd_logger.ino

M5Paper: Kit de desarrollo IoT con pantalla táctil e-Ink · Archivo : m5paper_sd_logger.ino · Lenguaje : Arduino · Uso : Enregistrer des données capteurs ou logs sur la carte SD via l'interface SPI.

Muestra cómo inicializar la tarjeta SD y escribir datos periódicamente para almacenamiento sin conexión.

El M5Paper tiene una ranura para tarjeta SD. Este código usa el bus SPI. Verifique el pin CS según la revisión de su placa (a menudo GPIO 33). La escritura en SD es bloqueante, por lo que se espacia para evitar congelar la interfaz.

m5paper_sd_logger.ino

#include <M5EPD.h>
#include <SD.h>
#include <SPI.h>

// M5Paper SD Card Pins (Check specific revision, usually VSPI)
#define SD_CS  33
#define SD_MOSI 23
#define SD_CLK  18
#define SD_MISO 19

M5EPD m5;
File myFile;

void setup() {
  m5.begin();
  Serial.begin(115200);
  
  SPI.begin(SD_CLK, SD_MISO, SD_MOSI, SD_CS);
  
  if (!SD.begin(SD_CS)) {
    Serial.println("Card Mount Failed");
    m5.drawCentreString("SD Card Error", 480, 270, 4);
    m5.updateFrame();
    return;
  }
  Serial.println("SD Card mounted");
  
  // Write test
  myFile = SD.open("test.txt", FILE_WRITE);
  if (myFile) {
    myFile.println("Logging started at: " + String(millis()));
    myFile.close();
    Serial.println("Done writing");
  }
}

void loop() {
  // Simulate sensor data logging
  static unsigned long lastLog = 0;
  if (millis() - lastLog > 5000) {
    lastLog = millis();
    myFile = SD.open("log.txt", FILE_WRITE);
    if (myFile) {
      myFile.println(millis() + "," + String(analogRead(36))); // Dummy analog read
      myFile.close();
    }
    
    m5.clear();
    m5.drawCentreString("Logged: " + String(millis()), 480, 270, 4);
    m5.updateFrame();
  }
  delay(100);
}

← Volver a la ficha