#include <DHT.h>
#include <LiquidCrystal_I2C.h>
#include<RTClib.h>

DHT dht(14, DHT22);
LiquidCrystal_I2C lcd(0x27, 16, 2);
RTC_DS1307 rtc;

int temp;
int hum;


void setup() {
  Serial.begin(115200);

  dht.begin();
  lcd.init();
  rtc.begin();

  lcd.backlight();
  lcd.setCursor(3, 0);
  lcd.print("Hello World");
  delay(200);
  lcd.clear();
}

void loop() {
RTC();
delay(500);
displayTemp();
delay(1000);
lcd.clear();


}

void RTC () {
  //displayTemp();

  DateTime now = rtc.now();     //เซตเวลาปัจจุบัน

  int y = now.year();
  int m = now.month();
  int d = now.day();

  Serial.print("Date ");
  Serial.print(d);
  Serial.print("/");
  Serial.print(m);
  Serial.print("/");
  Serial.println(y);

  lcd.setCursor(0, 0);
  lcd.print("Date: "); 
  lcd.print(d);
  lcd.print("/");
  if(m<10){       //แก้ เช่น 14/6/2024
  lcd.print("0");   //เพิ่ม 0 เช่น 14/06/2024
  }
  lcd.print(m);
  lcd.print("/");
  lcd.print(y);
  delay(500);
  lcd.clear();
}
void displayTemp() {

  temp = dht.readTemperature();
  hum = dht.readHumidity();

  Serial.print("Temp = ");
  Serial.print(temp);
  Serial.print("    ");

  Serial.print("Humidity = ");
  Serial.println(hum);



  lcd.setCursor(0, 0);
  lcd.print("Temp = ");
  lcd.setCursor(10, 0);
  lcd.print(temp);
  delay(200);
  lcd.print("   ");
  delay(200);
  lcd.setCursor(14, 0);
  lcd.print("*C");

  lcd.setCursor(0, 1);
  lcd.print("Humi = ");
  lcd.setCursor(10, 1);
  lcd.print(hum);
  lcd.print("   ");
  lcd.setCursor(14, 1);
  lcd.print(" %");

}
$abcdeabcde151015202530354045505560fghijfghij
$abcdeabcde151015202530354045505560fghijfghij
GND5VSDASCLSQWRTCDS1307+