# include "DHT.h"
// konfigurasi DHT22
#define DHIPIN 2
#define DHTTYPE DHT22
DHT dht(DHIPIN, DHTTYPE);
// konfigurasi potensiometer sebagai Simulator MQ-2
#define MQ2_PIN A0 // pin analog untuk potensiometer
// pin output
#define led 11
#define buzzer 12
#define relay 3
// Threshold
const float SUHU_BAHAYA = 60.0; // C
const float KELEMBABAN_BAHAYA = 30.0; // %
const int GAS_BAHAYA = 200; // ppm (asap)
void setup(){
Serial .begin(115200);
dht.begin();
pinMode(led, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(relay, OUTPUT);
Serial .println(F("Sistem Deteksi kebakaran(wokwi)"));
}
void loop(){
float suhu = dht.readTemperature();
float kelembaban = dht.readHumidity();
int gasValue = analogRead(MQ2_PIN);
if (isnan(suhu) || isnan (kelembaban)){
Serial.println(F("Error membaca DHT22!"));
return;
}
bool bahaya = (suhu >= SUHU_BAHAYA) ||
(kelembaban <=KELEMBABAN_BAHAYA) ||
(gasValue >=GAS_BAHAYA);
digitalWrite(led, bahaya ? HIGH : LOW);
digitalWrite(relay, bahaya ? HIGH : LOW);
if (bahaya){
tone(buzzer, 500, 1000);
digitalWrite(led, HIGH);
}else{
noTone(buzzer);
}
Serial.print(F("Suhu: "));
Serial.print(suhu);
Serial.print(F(" C | "));
Serial.print(F("Kelembaban: "));
Serial.print(kelembaban);
Serial.print(F("% | "));
Serial.print(F("Gas: "));
Serial.print(gasValue);
Serial.print(F("/1023"));
delay(2000);
}