Arduino:
Работа с CSV

Как это сделать:

Вот как сохранить данные сенсора в файл CSV на SD-карте:

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

File myFile;
int sensorValue = analogRead(A0);  // предполагаемое значение сенсора

void setup() {
  Serial.begin(9600);
  
  if (!SD.begin(4)) {  // SD-карта подключена к пину 4
    Serial.println("Не удалось обнаружить SD-карту или она отсутствует");
    return;
  }
  
  myFile = SD.open("data.csv", FILE_WRITE);
  
  if (myFile) {
    myFile.print("Время, ЗначениеСенсора\n");
    unsigned long time = millis();
    myFile.print(time);
    myFile.print(", ");
    myFile.print(sensorValue);
    myFile.close();
    
    Serial.println("Данные записаны на SD-карту.");
  } else {
    Serial.println("Ошибка открытия файла для записи.");
  }
}

void loop() {
  // Здесь делать нечего
}

Пример вывода в CSV в data.csv:

Время, ЗначениеСенсора
12345, 678

Погружение в тему

Формат CSV можно отследить до ранних дней вычислительной техники. Несмотря на наличие более изысканных альтернатив, таких как JSON или XML, CSV остается предпочтительным вариантом из-за его простоты и широкой поддержки на различных платформах. Работая с Arduino, следует учитывать ограниченную память и выбирать минималистичные библиотеки CSV или создавать собственные функции для эффективного анализа и генерации данных CSV.

Смотрите также