
Интернет-магазин «Неглупый Дом»
Модуль SD-карты и DS18B20 вместе пишут показания температуры в обычный 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() {
SD.begin(csPin);
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);
File dataFile = SD.open("log.csv", FILE_WRITE);
if (dataFile) {
dataFile.print(millis());
dataFile.print(",");
dataFile.println(t);
dataFile.close();
}
delay(60000); // запись раз в минуту
}
Файл `log.csv` открывается на запись и сразу закрывается на каждой итерации — так данные гарантированно сохраняются на карту, даже если Arduino внезапно потеряет питание между записями.
Ещё модули для Arduino: Электронные модули.
🎁 Купить весь комплект со скидкой 10%
Все 2 товара сразу в корзину: 163 ₽ 147 ₽ (экономия 16 ₽)
Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.
Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.