#include <SPI.h>
#include <DHT.h>
#include <SD.h>
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN,DHTTYPE);
File myFile;
void setup() {
Serial.begin(9600);
dht.begin();
//SDカードの初期化
if(!SD.begin(10)){
Serial.println("SDカードの初期化に失敗しました!");
return;
}
Serial.println("SDカードが初期化されました。");
//データファイルの作成
myFile = SD.open("data.txt, FILE_WRITE");
if(myFile){
myFile.println("温度,湿度");
myFile.close();
}
}
void loop() {
//温度と湿度を計測する
float h = dht.readHumidity();
float t = dht.readTemperature();
//読み取りに失敗した場合
if(isnan(h) || isnan(t)){
Serial.println("センサーからの読み取りに失敗しました!");
return;
}
//データをシリアルモニターに表示する
Serial.print("温度: ");
Serial.print(t);
Serial.print(" ℃, 湿度: ");
Serial.print(h);
Serial.println(" %");
//データをSDカードに書き込む
myFile = SD.open("data.txt", FILE_WRITE);
if(myFile){
myFile.print(t);
myFile.print(", ");
myFile.println(h);
myFile.close();
Serial.println("データをSDカードに保存しました");
}
//2秒の間隔を空ける
delay(2000);
}