#include "DHT.h"
#include <LiquidCrystal_I2C.h>
#define dht 12
#define pir 13
#define led1 19
#define led2 18
#define led3 5
#define led4 17
#define led5 16
LiquidCrystal_I2C lcd(0x27, 16, 2);
DHT dht22(dht, DHT22);
void setup() {
lcd.init();
lcd.backlight();
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(pir, INPUT);
}
void loop() {
float humi = dht22.readHumidity();
float temp = dht22.readTemperature();
int pirval = digitalRead(pir);
lcd.setCursor(0, 1);
lcd.print("Temp:");
lcd.print(temp);
lcd.print("C");
lcd.setCursor(0, 0);
lcd.print("Humi:");
lcd.print(humi);
lcd.print("%");
if(temp <= 10){
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
}else if(temp >= 15 && temp <= 25){
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
}else if(temp >= 26 && temp <= 35){
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, LOW);
}else if(temp >= 36){
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, HIGH);
digitalWrite(led5, HIGH);
}
if(temp >= 50){
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, HIGH);
delay(200);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
delay(200);
}
if(pirval == 1){
lcd.setCursor(14, 0);
lcd.print("ON");
for(int i=0; i<=3; i++){
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, HIGH);
delay(200);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
delay(200);
}
}else{
lcd.setCursor(14, 0);
lcd.print(" ");
}
}