#include <SPI.h> //for the SD card module
#include <SD.h> // for the SD card
#include <DHT.h> // for the DHT sensor
#include <RTClib.h> // for the RTC
//define DHT pin
#define DHTPIN 4
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
// Create a file to store the data
File myFile;
// RTC
RTC_DS1307 rtc;
char t[32];
void setup() {
//initializing the DHT sensor
dht.begin();
//initializing Serial monitor
Serial.begin(9600);
//initializing rtc
rtc.begin();
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
//open file
myFile=SD.open("DATA.txt", FILE_WRITE);
myFile.println("DateTime,Temperature ºC");
myFile.close();
Serial.println("DateTime,Temperature ºC");
}
void loop() {
loggingTime();
loggingTemperature();
delay(5000);
}
void loggingTime() {
DateTime now = rtc.now();
sprintf(t, "%02d:%02d:%02d %02d/%02d/%02d", now.hour(), now.minute(), now.second(), now.day(), now.month(), now.year());
//open file
myFile = SD.open("DATA.txt", FILE_WRITE);
myFile.print(t);
myFile.print(",");
myFile.close();
//debugging purposes
Serial.print(t);
Serial.print(",");
delay(1000);
}
void loggingTemperature() {
float t = dht.readTemperature();
//open file
myFile = SD.open("DATA.txt", FILE_WRITE);
myFile.print(t);
myFile.println(",");
myFile.close();
//debugging purposes
Serial.print(t);
Serial.println(" *C,");
}