#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#define dht_pin 2
#define dht_type DHT22
DHT dht(dht_pin, dht_type);
LiquidCrystal_I2C lcd(0x27, 16, 2);
int led1 = 4;
int led2 = 5;
int led3 = 6;
int buzer = 7;
void setup() {
Serial.begin(9600);
dht.begin();
lcd.init();
lcd.backlight();
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
}
void loop() {
delay(2000);
float humidity = dht.readHumidity();
float tempC = dht.readTemperature();
if(tempC > 60 && humidity > 80) {
// Highest severity
digitalWrite(led3, HIGH);
tone(buzer, 1000);
digitalWrite(led2, LOW);
digitalWrite(led1, LOW);
}
else if(tempC > 40 && humidity > 60) {
digitalWrite(led2, HIGH);
noTone(buzer);
digitalWrite(led3, LOW);
digitalWrite(led1, LOW);
}
else if(tempC > 20 && humidity > 40) {
digitalWrite(led1, HIGH);
noTone(buzer);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
}
lcd.setCursor(0, 0);
lcd.print("Humidity: ");
lcd.print(humidity);
lcd.setCursor(0, 1);
lcd.print("tempc: ");
lcd.print(tempC);
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.print(" ");
Serial.print("tempc: ");
Serial.print(tempC);
Serial.println();
}