#include <LiquidCrystal_I2C.h>
#include <DHT.h>
// #define DHTPIN A0
#define DHTPIN 3
#define DHTTYPE DHT22
LiquidCrystal_I2C lcd(0x27, 16, 2);
DHT dht(DHTPIN, DHTTYPE);
int Relay = 2; // กำหนดขาใช้งาน
void setup() {
lcd.init();
Serial.begin(9600);
dht.begin();
// pinMode(D2, INPUT_PULLUP);
// pinMode(D3, INPUT_PULLUP);
pinMode(5, INPUT_PULLUP);
pinMode(6, INPUT_PULLUP);
pinMode(Relay, OUTPUT); // กำหนดขาทำหน้าที่ให้ขา 2 เป็น OUTPUT
digitalWrite(Relay, HIGH);
}
void loop() {
float temperatureC = dht.readTemperature();
float temperatureF = dht.readTemperature(true);
float humidity = dht.readHumidity();
int switch1 = digitalRead(5);
int switch2 = digitalRead(6);
if (switch1 == LOW) {
Serial.println("Celsius");
Serial.print("Temperature: ");
Serial.print(temperatureC);
Serial.println("C");
lcd.clear();
lcd.setCursor(0,0);
lcd.print("TEMP : Celsius");
lcd.setCursor(0,1);
lcd.print("TEMP : ");
lcd.print(temperatureC);
lcd.print((char)223);
lcd.print("C");
} else if (switch2 == LOW) {
Serial.println("Fahrenheit");
Serial.print("Temperature: ");
Serial.print(temperatureF);
Serial.println("F");
lcd.clear();
lcd.setCursor(0,0);
lcd.print("TEMP : Fahrenheit");
lcd.setCursor(0,1);
lcd.print("TEMP : ");
lcd.print(temperatureF);
lcd.print((char)223);
lcd.print("F");
}
else if (temperatureC < 35 && humidity < 75 ) {
digitalWrite(Relay, LOW);
lcd.clear();
Serial.println("TEMP < 35: HUM < 75");
Serial.println("Relay : OFF");
lcd.clear();
lcd.setCursor(0,0);
lcd.println("TEMP<35 HUM<75");
lcd.setCursor(0,1);
lcd.print("Relay : OFF");
}
else if (temperatureC > 35 && humidity > 75 ) {
digitalWrite(Relay, HIGH);
lcd.clear();
Serial.println("TEMP > 35: HUM > 75");
Serial.println("Relay : ON");
lcd.clear();
lcd.setCursor(0,0);
lcd.println("TEMP>35 HUM>75");
lcd.setCursor(0,1);
lcd.print("Relay : ON");
}
delay(500);
}