//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
GND5VSDASCLSQWRTCDS1307+
rtc1:GND
rtc1:5V
rtc1:SDA
rtc1:SCL
rtc1:SQW
dht1:VCC
dht1:SDA
dht1:NC
dht1:GND