#include "DHT.h"
#include <LiquidCrystal_I2C.h>
#define DHT22_PIN 15
#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(DHT22_PIN, 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("Tmp:");
lcd.print(temp);
lcd.print("C");
lcd.setCursor(0, 0);
lcd.print("Hum:");
lcd.print(humi);
lcd.print("%");
lcd.setCursor(11, 0);
lcd.print("|");
lcd.setCursor(11, 1);
lcd.print("|");
if(temp >= 15 && temp <= 20){
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
}else if(temp >= 21 && temp <= 25){
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
}else if(temp >= 26 && temp <= 30){
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
}else{
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
}
if(humi >= 80){
digitalWrite(led5, HIGH);
delay(200);
digitalWrite(led5, LOW);
delay(200);
}
if(pirval == 1){
lcd.setCursor(12, 0);
lcd.print("PIR");
lcd.setCursor(12, 1);
lcd.print("ON");
digitalWrite(led4, HIGH);
delay(200);
digitalWrite(led4, LOW);
delay(200);
}else{
lcd.setCursor(12, 0);
lcd.print(" ");
lcd.setCursor(12, 1);
lcd.print(" ");
}
}