#include <dht.h>
#include <LiquidCrystal.h>
dht DHT;
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
const int buzzerPin = 10;
const int ledPin = 13;
#define DHT_22 7
void setup() {
Serial.begin(9600);
lcd.begin(16, 2);
pinMode(ledPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);
}
void loop() {
float temperature = DHT.read22(DHT_22);
Serial.print("Temperature = ");
Serial.println(DHT.temperature);
delay(1000);
if (DHT.temperature < 20) {
digitalWrite(ledPin, LOW);
lcd.setCursor(0,0);
lcd.print("Temp: ");
lcd.print(DHT.temperature);
delay(1000);
lcd.print((char)223);
lcd.print("C");
lcd.setCursor(0,1);
lcd.print("Status: HEALTHY");
} else if (DHT.temperature >= 20 && DHT.temperature <= 25) {
digitalWrite(ledPin, HIGH);
delay(500);
digitalWrite(ledPin, LOW);
delay(500);
lcd.setCursor(0,0);
lcd.print("Temp: ");
lcd.print(DHT.temperature);
delay(500);
lcd.print((char)223);
lcd.print("C");
lcd.setCursor(0,1);
lcd.print("Status: STANDBY ");
} else {
digitalWrite(ledPin, HIGH);
delay(500);
digitalWrite(ledPin, LOW);
delay(500);
tone(buzzerPin, 1000);
lcd.setCursor(0,0);
lcd.print("Temp: ");
lcd.print(DHT.temperature);
delay(1000);
lcd.print((char)223);
lcd.print("C");
lcd.setCursor(0,1);
lcd.print("Status: UNHEALTHY ");
}
}