#include <SD.h>
#include <SPI.h>
#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT22
#define CSPIN 10
DHT dht(DHTPIN, DHTTYPE);
File dataFile;
void setup() {
Serial.begin(9600);
dht.begin();
if (!SD.begin(CSPIN)) {
Serial.println("SDカードの初期化に失敗しました!");
return;
}
Serial.println("SDカードが見つかりました");
dataFile = SD.open("data.txt", FILE_WRITE);
if (!dataFile) {
Serial.println("データファイルを開けませんでした!");
return;
}
dataFile.println("温度,湿度");
dataFile.close();
}
void loop() {
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
if (isnan(temperature) || isnan(humidity)) {
Serial.println("センサーからデータを読み取れません!");
return;
}
Serial.print("温度: ");
Serial.print(temperature);
Serial.print("°C, 湿度: ");
Serial.print(humidity);
Serial.println("%");
dataFile = SD.open("data.txt", FILE_WRITE);
if (dataFile) {
dataFile.print(temperature);
dataFile.print(",");
dataFile.println(humidity);
dataFile.close();
Serial.println("データをSDカードに保存しました。");
} else {
Serial.println("データファイルを開けませんでした!");
}
delay(5000);
}