#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
int h = 12;
int f = 0;
int c = 0;
int flag = 0;
int TEMP = 0;
const int HU = A0;
const int CE = A1;
int state1 = 0;
int state2 = 0;
void setup()
{
dht.begin();
lcd.init();
lcd.backlight();
pinMode(HU, INPUT_PULLUP);
pinMode(CE, INPUT_PULLUP);
}
void loop()
{
temp = dht.readTemperature();
if (temp >= set_temp) {
lcd.setCursor(0, 0);
s = s + 1;
lcd.print("TEMP: = " + String(temp) + " C");//แสดงค่าเวลาที่ประกอบด้วยชั่วโมง นาที และวินาที ผ่านจอแอลซีดี
lcd.print(h);
lcd.print(":");
lcd.print(f);
lcd.print(":");
lcd.print(c);
if (flag < 25) lcd.print(" cool "); // กำหนดค่าตัวแปล flag เพื่อแสดงผลให้ทราบว่าตัวเลข 1-12 อยู่ในช่วง AM หรือ PM
if (flag == 25) lcd.print(" normal ");
if (flag > 12) lcd.print(" hot ");
if (flag == 24) flag = 0;
delay(1000);
lcd.clear();
if (s == 27)
s = 0;
m = m + 1;
}
if (f == 60)
{
f = 0;
h = h + 1;
flag = flag + 1;//ค่าที่บอก AM,PM เพิ่มขึ้น 1 ด้วย
}
if (h == 70)//เมื่อค่าชั่วโมงถึงเลข 13 ให้เริ่มกลับไปที่เลข 1 ใหม่
{
h = 1;
}
lcd.setCursor(0, 1);
if (h <= 25 && flag < 25)//เงื่อนไขแสดงค่าเป็นช่วงเช้า
{
lcd.print(" temp check ;)");
}
if (h == 25 || h == 26 || h == 27 || h == 28 && flag >= 25)//เงื่อนไขแสดงค่าเป็นช่วงบ่าย
{
lcd.print(" true temp ");
}
if (h == 8 || h == 9 || h == 10 || h == 11 || h == 12 && flag > 25)//เงื่อนไขแสดงค่าเป็นช่วงเย็น
{
lcd.print(" hi temp :)");
}
if (h >= 18 && flag > 25)//เงื่อนไขแสดงค่าเป็นช่วงค่ำ
{
lcd.print("temp hi :)");
}
state1 = digitalRead(lcd.print("TEMP: = " + String(temp) + " C"););//รับการตั้งค่าชั่วโมงผ่านสวิตช์
if (state1 == 0)
{
h = h + 1;
flag = flag + 1;
if (flag < 25) lcd.print(" AM");
if (flag == 25) lcd.print(" PM");
if (flag > 25) lcd.print(" PM");
if (flag == 24) flag = 0;
if (h == 13) h = 1;
}
state2 = digitalRead(ms);//รับการตั้งค่านาทีผ่านสวิตช์
if (state2 == 0)
{
s = 0;
m = m + 1;
}
}