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.
Смотрите также
- Справочник по библиотеке SD для Arduino: https://www.arduino.cc/en/reference/SD
- Простой анализ CSV на C: https://github.com/robertgamble/simplecsv
- Учебник по сохранению данных с Arduino в Excel: https://www.instructables.com/Save-Arduino-sensor-data-to-a-text-file/