#include "DHT.h"
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16,2 );
#define DHTPIN 4
#define DHTTYPE 22
#define GAS 34
#define BUZZ 2
#define LED 16
#define RELAY 26
int nilaigas;
int batasgas = 3000;
DHT dht(DHTPIN , DHTTYPE);
void setup() {
// put your setup code here, to run once:
pinMode(GAS, INPUT);
pinMode(LED,OUTPUT);
pinMode(BUZZ,OUTPUT);
pinMode(RELAY,OUTPUT);
Serial.begin(115200);
dht.begin();
lcd.init();
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("GALANGS");
lcd.setCursor(0,1);
lcd.print ("XII ELIND 4");
delay(3000);
lcd.clear();
}
void loop() {
// put your main code here, to run repeatedly:
float hum = dht.readHumidity();
float temp = dht.readTemperature();
int nilaigas = (analogRead(GAS));
if (isnan(hum) || isnan(temp)){
Serial.println ("Gagal baca sensor");
lcd.clear();
lcd.print("Sensor error");
delay(1000);
return;
}
if(nilaigas > batasgas) {
lcd.setCursor(0,0);
lcd.print("T: ");
lcd.print(temp);
lcd.print("C ");
lcd.setCursor(0,1);
lcd.print("H: ");
lcd.print(hum);
delay(3000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("GAS GA NYELOW");
tone(BUZZ, 1000);
digitalWrite(RELAY,HIGH);
digitalWrite(LED,HIGH);
delay(3000);
}else{
digitalWrite(RELAY,HIGH);
digitalWrite(LED, LOW);
noTone(BUZZ);
lcd.setCursor(0,0);
lcd.print("T: ");
lcd.print(temp);
lcd.print("C ");
lcd.setCursor(0,1);
lcd.print("H: ");
lcd.print(hum);
delay(3000);
lcd.clear();
}
}