Smoke Sensor/MQ-2

The MQ-2 smoke or (Gas sensor) is sensitive to smoke and to the following flammable gases: LPG, butane, propane, methane, alcohol and hydrogen. The resistance across the sensor is different depending on the type of the gas. The smoke sensor has a built-in potentiometer that allows you to adjust the sensor digital output (D0) threshold. This threshold sets the value above which the digital pin will output a HIGH signal.

SENSOR PIN

ARDUINO CONNECTION

A0

Any Analog pin

D0

Any Digital Pin

GND

Ground with Arduino

Vcc

5V

WORKING DETAILS.
The voltage that the sensor outputs changes accordingly to the smoke/gas level that exists in the atmosphere. The sensor outputs a voltage that is proportional to the concentration of smoke/gas.
In other words, the relationship between voltage and gas concentration is the following:
The greater the gas concentration, the greater the output voltage The lower the gas concentration, the lower the output voltage. The output can be an analog signal (A0) that can be read with an analog input of the Arduino or a digital output (D0) that can be read with a digital input of the Arduino.GAS SENSOR WITH ARDUINO:In this example, you will read the sensor analog output voltage. When the smoke reaches a certain level, it will make sound a buzzer and a red LED will turn on. When the output voltage is below that level, a green LED will be on.CODE:
Upload the following sketch to your Arduino board (feel free to adjust the variable sensorThres with a different threshold value).Copy and paste the Code into Arduino IDE.
int redLed = 5;
int greenLed = 6;
int buzzer =2;
int smokeA3 = A5;
// Your threshold value int sensorThres = 400;
void setup()
{
pinMode(redLed, OUTPUT);
pinMode(greenLed, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(smokeA0, INPUT);
Serial.begin(9600);
}
void loop()
{
int analogSensor = analogRead(smokeA0);
Serial.print(“Pin A3: “);
Serial.println(analogSensor);
// Checks if it has reached the threshold value if (analogSensor > sensorThres)
{
digitalWrite(redLed, HIGH);
digitalWrite(greenLed, LOW);
tone(buzzer, 1000, 200);
}
else
{
digitalWrite(redLed, LOW);
digitalWrite(greenLed, HIGH);
noTone(buzzer);
}
delay(100);
}
Download Library: Here.