Интернет-магазин «Неглупый Дом»
Модуль SD-карты и DS18B20 пишут CSV-файл, который открывается в Excel.
Модуль SD-карты подключается по тому же протоколу SPI, что и многие другие модули (RFID, дисплеи), просто на своей линии CS. Раз в минуту плата измеряет температуру и дописывает новую строку в CSV-файл на карте — формат с запятыми-разделителями, который без проблем открывается в Excel или Google Таблицах.
Разводка модулей у разных производителей отличается — если на вашей плате контакты называются иначе, сориентируйтесь по маркировке.
// ВНИМАНИЕ: рекомендую отладить код через монитор порта, так как я языковая
// модель, а не специализированный кодер, и могу что-то упустить.
#include <SPI.h>
#include <SD.h>
#include <OneWire.h>
#include <DallasTemperature.h>
const int csPin = 4;
#define ONE_WIRE_BUS 2
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
void setup() {
Serial.begin(9600);
if (!SD.begin(csPin)) {
Serial.println("Ошибка: SD-карта не найдена");
return;
}
sensors.begin();
File dataFile = SD.open("log.csv", FILE_WRITE);
if (dataFile) {
dataFile.println("millis,temp_c");
dataFile.close();
}
}
void loop() {
sensors.requestTemperatures();
float t = sensors.getTempCByIndex(0);
Serial.print("Запись: ");
Serial.println(t);
File dataFile = SD.open("log.csv", FILE_WRITE);
if (dataFile) {
dataFile.print(millis());
dataFile.print(",");
dataFile.println(t);
dataFile.close();
} else {
Serial.println("Не удалось открыть log.csv");
}
delay(60000);
}
Файл открывается и сразу закрывается на каждой итерации — данные сохраняются на карту даже при внезапной потере питания.
Ещё модули для Arduino: Электронные модули.
🎁 Купить весь комплект со скидкой 10%
Все 2 товара сразу: 163 ₽ 147 ₽ (экономия 16 ₽)
Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.
Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.