#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int redPin = 13;
const int greenPin = 12;
const int bluePin = 14;
const int mq135Pin = 34;
void setup() {
lcd.begin(16, 2);
lcd.backlight();
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
lcd.setCursor(0, 0);
lcd.print("Air Quality:");
delay(1000);
}
void loop() {
int airQuality = analogRead(mq135Pin);
airQuality = map(airQuality, 0, 4095, 0, 500);
lcd.setCursor(0, 1);
lcd.print("AQI: ");
lcd.print(airQuality);
lcd.print(" ppm ");
if (airQuality < 100) {
// Good air quality - Green LED
digitalWrite(redPin, LOW);
digitalWrite(greenPin, HIGH);
digitalWrite(bluePin, LOW);
} else if (airQuality < 200) {
// Moderate air quality - Yellow (Red + Green)
digitalWrite(redPin, HIGH);
digitalWrite(greenPin, HIGH);
digitalWrite(bluePin, LOW);
} else {
// Poor air quality - Red LED
digitalWrite(redPin, HIGH);
digitalWrite(greenPin, LOW);
digitalWrite(bluePin, LOW);
}
delay(1000);
}