#include <LiquidCrystal_I2C.h>
#include <DHT.h>;
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define DHTPIN 2 //what pin we're connected to
#define DHTTYPE DHT22 //DHT 22 (AM2302)
DHT dht(DHTPIN, DHTTYPE); //Initialize DHT sensor for normal 16mhz Arduino
int chk;
int P; // Pathogen value
int A; // Air Quality
//Initialize LCD, DHT22 sensor and buzzer:
void setup(){
lcd.init(); lcd.backlight(); dht.begin();
Serial.begin(9600);
pinMode(9, OUTPUT); pinMode(10, OUTPUT); pinMode(11, OUTPUT);
}
void loop(){
delay(500);
//Read data and store it to variables hum and temp
P = dht.readHumidity(); A = dht.readTemperature();
A=A+150;
//Print temp and humidity values to serial monitor
Serial.print("Pathogen Level: ");
Serial.print(P);
Serial.println(" PPM ");
Serial.print("Air Quality: ");
Serial.print(A);
Serial.print("\n");
if(P >= 50.00 && A >= 300.00){
digitalWrite(9, HIGH); digitalWrite(10, LOW); digitalWrite(11, LOW);
lcd.println(" Critical Air Quality ");
lcd.setCursor(0, 1);
lcd.println("High Pathogen Level ");
lcd.setCursor(0, 0);
}else{
digitalWrite(9, LOW); digitalWrite(10, LOW); digitalWrite(11, HIGH);
lcd.println("Air Quality "+String(A));
lcd.setCursor(0, 1);
lcd.println("Pathogen "+String(P));
lcd.setCursor(0, 0);
}
if(P < 25.00 && A >= 225.00){
digitalWrite(9, LOW); digitalWrite(10, HIGH); digitalWrite(11, LOW);
lcd.println("Critical Air Quality"); lcd.setCursor(0, 1);
lcd.println("Mediun Pathogen Level"); lcd.setCursor(0, 0);
}
if(P >= 70.00 ){
digitalWrite(9, HIGH); digitalWrite(10, LOW); digitalWrite(11, LOW);
lcd.println("High Pathogen Level"); lcd.setCursor(0, 1);
}
if(A >= 300.00 ){
digitalWrite(9, HIGH); digitalWrite(10, LOW); digitalWrite(11, LOW);
lcd.println("Hazardous Air Quality"); lcd.setCursor(0, 1);
}
if(A >= 200.00 ){
digitalWrite(9, HIGH); digitalWrite(10, LOW); digitalWrite(11, LOW);
lcd.println("Very Unhealthy Air Quality"); lcd.setCursor(0, 1);
}
if(A >= 150.00 ){
digitalWrite(9, LOW); digitalWrite(10, HIGH); digitalWrite(11, LOW);
lcd.println("Unhealthy Air Quality"); lcd.setCursor(0, 1);
}
}