#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(" %");
}