//Simulasi Program Untuk Filter Udara Otomatis
#include <DHT.h>
#define dhtpin 5
#define tipedht DHT22//Tipe DHT yang asli DHT11
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
int kipas = 13;
LiquidCrystal_I2C lcd(0x27,16,2);
DHT dht(dhtpin, tipedht);// inisialisasi pin dan tipe dht
void setup() {
lcd.init();
lcd.backlight();
dht.begin();//memulai dht
Serial.begin(9600);//memulai serial
lcd.setCursor(0,0);
lcd.print("Memulai... ");
delay(2000);
}
void loop() {
lcd.clear();
delay(200);
int suhu = dht.readTemperature();
int kelembapan = dht.readHumidity();
int sensor_bawah = analogRead(3);//Program asli pin 15
int sensor_atas = analogRead(2);
Serial.print(sensor_atas);Serial.println("PPM");
Serial.print(sensor_bawah);Serial.println("PPM");
Serial.println("");
lcd.setCursor(0,0);
lcd.print("Suhu = ");lcd.print(suhu);lcd.print("'C");
lcd.setCursor(0,1);
lcd.print("Kelembapan = ");lcd.print(kelembapan);lcd.print("%");
if (sensor_bawah > 100 ) {// kipas nyala
digitalWrite(kipas, HIGH);
}
else if (sensor_bawah) {
digitalWrite(kipas, LOW);
}
delay(2000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Kualitas Udara");
if (sensor_bawah > 301 ){
lcd.setCursor(0,1);
lcd.print("Bahaya !!!");
}
else if (sensor_bawah >= 201 && sensor_atas <= 300){
lcd.setCursor(0,1);
lcd.print("Sangat Tidak");
}
else if (sensor_bawah >= 121 && sensor_atas <= 200){
lcd.setCursor(0,1);
lcd.print("Tidak Sehat");
}
else if (sensor_bawah >= 90 && sensor_atas <= 120){
lcd.setCursor(0,1);
lcd.print("Sedang");
}
else if (sensor_bawah <= 80 ){
lcd.setCursor(0,1);
lcd.print("Baik");
}
delay(2000);
lcd.clear();
}