#include <LiquidCrystal_I2C.h>
#include <dht.h>
dht DHT ;
#define DHT22_PIN 11
#define I2C_ADDR 0x27
#define LCD_COLUMNS 20
#define LCD_LINES 4
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
#define led1 8
#define led2 9
#define led3 10
void setup() {
lcd.init();
lcd.backlight();
lcd.begin(16, 2);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
}
void loop() {
int readData = DHT.read22(11); // Reads the data from the sensor
float f = DHT.temperature;
lcd.setCursor(1, 0);
lcd.print("Temp : ");
lcd.setCursor(1, 1);
lcd.print("FAN : ");
lcd.setCursor(8, 0);
lcd.print(f);
delay(1000);
if(f<20){
lcd.clear();
lcd.setCursor(8, 1);
lcd.print("OFF");
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
}
else if(f>20& f<=25){
lcd.clear();
lcd.setCursor(8, 1);
lcd.print("ON_1");
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
}
else if(f>26& f<=30){
lcd.clear();
lcd.setCursor(8, 1);
lcd.print("ON_2");
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
digitalWrite(led1, LOW);
}
else if(f>30){
lcd.clear();
lcd.setCursor(8, 1);
lcd.print("ON_3");
digitalWrite(led3, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led1, LOW);
}
}