#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h> 
#include <TimeLib.h>

int led1 = 3; // green 
int led2 = 4; //red


#define TIME_HEADER  "T"   // Header tag for serial time sync message
#define TIME_REQUEST  7    // ASCII bell character requests a time sync message 

// Set the LCD address to 0x27 or 0x3F for a 16 chars and 2 line display
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal_I2C LCD = LiquidCrystal_I2C(0x27, 20, 4);
DHT dht(2, DHT22);  

float temp_c;                                         
float temp_f;                                         
float humidity;        

void setup()
{

pinMode(led1, OUTPUT);  
pinMode(led2, OUTPUT);  

digitalWrite(led1,LOW);
digitalWrite(led2,LOW);

// initialize the LCD
LCD.init();
LCD.init();
LCD.backlight();
LCD.setCursor(4, 0);
LCD.print("Data  Center");

dht.begin(); 

Serial.begin(9600);
}



void loop() {

  float MAXT;
  float MAXH;
  float maxtemp;
  temp_c = dht.readTemperature();         // คำสั่ง readTemperature เป็นคำสั่งอ่านค่าอุณหภูมิในหน่วยองศาเซลเซียส
  temp_f = dht.readTemperature(true);     // หากต้องการค่าอุณหภูมิในหน่วยองศาฟาเรนไฮต์ให้ใส่ true ลงไปในวงเล็บของคำสั่ง
  humidity = dht.readHumidity();          // คำสั่ง readHumidity เป็นคำสั่งอ่านค่าความชื้นในอากาศเป็นเปอร์เซ็นต์
  digitalWrite(led1,HIGH);
  digitalWrite(led2,LOW);
  LCD.setCursor(0, 2);
  LCD.print("Temp");
  LCD.print(temp_c);
  LCD.print("|");
  LCD.setCursor(10, 2);
  LCD.print("|Humi");
  LCD.print(humidity);


  while(temp_c > 30){  
  LCD.setCursor(1, 3);
  LCD.print("Max");
  LCD.print(temp_c);
  LCD.print("|");
  LCD.setCursor(10, 3);
  LCD.print("| Max");
  LCD.print(humidity);
  digitalWrite(led1,LOW);
  digitalWrite(led2,HIGH);
  delay(1000);

  return(temp_c);
  }

}