#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#define DHTPIN 7
#define DHTTYPE DHT22
#define MQ135PIN A0
LiquidCrystal_I2C lcd(0x27, 16, 2);
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
dht.begin();
lcd.begin(16, 2);
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Air Quality Ready");
delay(2000);
lcd.clear();
}
void loop() {
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
int airQuality = analogRead(MQ135PIN);
int pm25 = random(10, 100);
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(temperature);
lcd.print("C");
lcd.setCursor(0, 1);
lcd.print("Hum: ");
lcd.print(humidity);
lcd.print("%");
delay(2000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("CO2: ");
lcd.print(airQuality);
lcd.print(" ppm");
lcd.setCursor(0, 1);
lcd.print("PM2.5: ");
lcd.print(pm25);
lcd.print(" ug/m3");
delay(2000);
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" C");
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.println(" %");
Serial.print("Air Quality (CO2): ");
Serial.print(airQuality);
Serial.println(" ppm");
Serial.print("PM2.5: ");
Serial.print(pm25);
Serial.println(" ug/m3");
Serial.println("----------------------");
}