// Pin definitions
const int smokeSensorPin = A0; // MQ-2 analog output
const int greenLedPin = 11;
const int yellowLedPin = 12;
const int redLedPin = 13;
//const int buzzerPin = 10;
// Thresholds for smoke levels
const int lowThreshold = 300; // Low smoke level
const int highThreshold = 450; // High smoke level
void setup() {
pinMode(greenLedPin, OUTPUT);
pinMode(yellowLedPin, OUTPUT);
pinMode(redLedPin, OUTPUT);
//pinMode(buzzerPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
int smokeLevel = analogRead(smokeSensorPin); // Read smoke level
Serial.println(smokeLevel); // Display smoke level in Serial Monitor
// Clear all LEDs and buzzer initially
digitalWrite(greenLedPin, LOW);
digitalWrite(yellowLedPin, LOW);
digitalWrite(redLedPin, LOW);
//digitalWrite(buzzerPin, LOW);
// Smoke detection logic
if (smokeLevel < lowThreshold) {
digitalWrite(greenLedPin, HIGH); // Safe zone
} else if (smokeLevel >= lowThreshold && smokeLevel < highThreshold) {
digitalWrite(yellowLedPin, HIGH); // Warning zone
} else if (smokeLevel >= highThreshold) {
digitalWrite(redLedPin, HIGH); // Danger zone
//digitalWrite(buzzerPin, HIGH); // Activate buzzer
}
delay(1000); // Wait 1 second before reading again
}