#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT22
#define led 12
#define buzzer 13
#define relay 3
DHT dht(DHTPIN, DHTTYPE);
void setup() {
pinMode(led, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(relay, OUTPUT);
Serial.begin(115200);
Serial.println(F("Alat Pendeteksi Kebakaran"));
dht.begin();
}
void loop() {
float s = dht.readTemperature();
float k = dht.readHumidity();
if(isnan(s) || isnan(k)) {
Serial.println(F("Gagal membaca data dari sensor DHT"));
return;
}
// Jika suhu >= 40°C dan kelembapan <= 30%, aktifkan alarm
if(s >= 40 && k <= 30) {
digitalWrite(led, HIGH);
digitalWrite(relay, HIGH);
tone(buzzer, 100);
}
// Jika suhu < 33°C dan kelembapan > 30%, matikan alarm
else if (s < 35 && k > 30) {
digitalWrite(led, LOW);
digitalWrite(relay, LOW);
noTone(buzzer); // Matikan buzzer
}
// Cetak data kelembapan dan suhu
Serial.println(F("Kelembapan: "));
Serial.print(k);
Serial.print(F("% Suhu: "));
Serial.print(s);
Serial.println(F("°C "));
delay(2000);
}