//GROUP 1
//LAB 8 LAB EXERCISE
#include <DHT.h>;
#include "RTClib.h"
#include <SD.h>
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
RTC_DS1307 rtc;
#define CS_PIN 10
float temp;
float hum;
int hour;
File root;
void setup()
{
Serial.begin(115200);
dht.begin();
if (! rtc.begin()) {
Serial.println("Couldn't find RTC");
Serial.flush();
abort();
}
Serial.print("Initializing SD card... ");
if (!SD.begin(CS_PIN)) {
Serial.println("Card initialization failed!");
while (true);
}
Serial.println("initialization done.");
Serial.println("Beginning Temperature Data Logger...");
Serial.println("temp_log.txt content:");
File writeFile = SD.open("temp_log.txt", FILE_WRITE);
writeFile.println("-- Temperature -- Humidity -- Time -- Date --");
writeFile.close();
}
void loop()
{
DateTime now = rtc.now();
temp = dht.readTemperature();
hum = dht.readHumidity();
File writeFile = SD.open("temp_log.txt", FILE_WRITE);
writeFile.print("-- ");
writeFile.print(temp);
writeFile.print(" C --");
writeFile.print(" ");
writeFile.print("-- ");
writeFile.print(hum);
writeFile.print(" % --");
writeFile.print(" ");
if (now.hour() > 12) {
writeFile.print(now.hour() - 12);
} else {
writeFile.print(now.hour(), DEC);
}
writeFile.print(':');
writeFile.print(now.minute(), DEC);
writeFile.print(':');
writeFile.print(now.second(), DEC);
writeFile.print(" -- ");
writeFile.print(now.month(), DEC);
writeFile.print('/');
writeFile.print(now.day(), DEC);
writeFile.print('/');
writeFile.print(now.year(), DEC);
writeFile.println(" --");
writeFile.close();
Serial.println();
File textFile = SD.open("temp_log.txt");
if (textFile) {
while (textFile.available()) {
Serial.write(textFile.read());
}
textFile.close();
} else {
Serial.println("error opening temp_log.txt!");
}
delay(5000);
}
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
sd1:CD
sd1:DO
sd1:GND
sd1:SCK
sd1:VCC
sd1:DI
sd1:CS
rtc1:GND
rtc1:5V
rtc1:SDA
rtc1:SCL
rtc1:SQW
dht1:VCC
dht1:SDA
dht1:NC
dht1:GND