#include <LiquidCrystal.h>
#include <DHT.h>
#define DHTPIN 7
#define DHTTYPE DHT22
#define BUZZERPIN 8
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
const int MQ7_PIN = A0;
const int MQ135_PIN = A1;
void setup() {
pinMode(BUZZERPIN, OUTPUT);
lcd.begin(16, 2);
dht.begin();
}
void loop() {
int temperature = dht.readTemperature();
int humidity = dht.readHumidity();
int CO2Level = analogRead(MQ7_PIN);
int airQuality = analogRead(MQ135_PIN);
lcd.setCursor(0, 0);
lcd.print("Temp:");
lcd.print(temperature);
lcd.print("C Hum:");
lcd.print(humidity);
lcd.print("%");
lcd.setCursor(0, 1);
lcd.print("CO:");
lcd.print(CO2Level);
lcd.print(" AQ:");
lcd.print(airQuality);
int simulatedCO2Level = map(analogRead(A2), 0, 1023, 0, 1023);
int simulatedAirQuality = map(analogRead(A3), 0, 1023, 0, 1023);
if (temperature > 40 || temperature < -10 || CO2Level > simulatedCO2Level || airQuality > simulatedAirQuality || humidity < 30 || humidity > 60) {
tone(BUZZERPIN, 1000);
Serial.println("Warning: Abnormal");
delay(500);
} else {
noTone(BUZZERPIN);
Serial.println("Normal Condition");
delay(500);
}
delay(1000);
}