#include <DHT.h>
#define GAS_SENSOR 7 // Digital pin for Gas Sensor
#define DHTPIN 2 // Digital pin for DHT11
#define PIR_SENSOR 3 // Digital pin for PIR Sensor
#define BUZZER 4 // Digital pin for Buzzer
#define FIRE_LED 5 // Red LED for Fire Alert
#define SAFE_LED 6 // Green LED for Safe Status
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
const float tempThreshold = 34.0; // Temperature threshold in °C
void setup() {
Serial.begin(9600);
pinMode(GAS_SENSOR, INPUT);
pinMode(PIR_SENSOR, INPUT);
pinMode(BUZZER, OUTPUT);
pinMode(FIRE_LED, OUTPUT);
pinMode(SAFE_LED, OUTPUT);
dht.begin();
}
void loop() {
bool smokeDetected = digitalRead(GAS_SENSOR); // HIGH if smoke detected
bool flameDetected = digitalRead(PIR_SENSOR); // HIGH if flame detected
float temp = dht.readTemperature();
bool tempUnstable = temp > tempThreshold;
Serial.println("Monitoring...");
if (smokeDetected && flameDetected) {
Serial.println("ALERT: Flame and Smoke Detected!");
} else if (smokeDetected) {
Serial.println("ALERT: Smoke Detected!");
} else if (flameDetected) {
Serial.println("ALERT: Flame Detected!");
}
if (tempUnstable) {
Serial.println("WARNING: Temperature is Unstable!");
}
if (smokeDetected || flameDetected || tempUnstable) {
digitalWrite(BUZZER, HIGH);
digitalWrite(FIRE_LED, HIGH);
digitalWrite(SAFE_LED, LOW);
} else {
Serial.println("System Normal.");
digitalWrite(BUZZER, LOW);
digitalWrite(FIRE_LED, LOW);
digitalWrite(SAFE_LED, HIGH);
}
Serial.println("------------------------");
delay(1000);
}