#define MQ2pin A0
#define buzzerPin 8
#define redLedPin 7
#define greenLedPin 4
float sensorValue; // variable to store sensor value
void setup()
{
pinMode(buzzerPin, OUTPUT);
pinMode(greenLedPin, OUTPUT);
pinMode(redLedPin, OUTPUT);
Serial.begin(9600); // sets the serial port to 9600
Serial.println("Gas sensor warming up!");
delay(5000); // allow the MQ-2 to warm up
}
void alarmOn() {
tone(buzzerPin, 500, 1000); // Activate the buzzer
digitalWrite(redLedPin, HIGH); // Turn on the red LED
digitalWrite(greenLedPin, LOW); // Turn off the green LED
}
void alarmOff() {
tone(buzzerPin, 0, 0); // Turn off the buzzer
digitalWrite(redLedPin, LOW); // Turn off the red LED
digitalWrite(greenLedPin, HIGH); // Turn on the green LED
}
void loop()
{
sensorValue = analogRead(MQ2pin); // read analog input pin A0
Serial.print("Sensor Value: ");
Serial.print(sensorValue);
if (sensorValue > 200) { // Threshold for smoke detection
alarmOn();
Serial.print("Smoke detected!");
Serial.println(" PERINGATAN: Asap terdeteksi!");
} else {
alarmOff();
Serial.print("No Smoke detected");
Serial.println(" Normal: Tidak ada asap terdeteksi.");
}
delay(2000); // wait 2s for next reading
}