Smoke Detection using MQ-2 Gas Sensor © LGPL

In this tutorial, we will learn how to detect Smoke and inflammable gases using an MQ-2 sensor.

  • 228,334 views
  • 42 comments
  • 142 respects

Components and supplies

Apps and online services

About this project

In this example, you will read the sensor analog output voltage and 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.

What is an MQ-2 Smoke Sensor?

The MQ-2 smoke sensor is sensitive to smoke and to the following flammable gases:

  • LPG
  • Butane
  • Propane
  • Methane
  • Alcohol
  • Hydrogen

The resistance of 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 sensitivity according to how accurate you want to detect gas.

How does it Work?

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 greaterthe gas concentration,the greaterthe output voltage
  • The lowerthe gas concentration,the lowerthe 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.

Pin Wiring

The MQ-2 sensor has 4 pins.

Pin-------------------------------------Wiring to Arduino Uno

A0-------------------------------------Analog pins

D0-------------------------------------Digital pins

GND-----------------------------------GND

VCC------------------------------------5V

So, before jumping into the coding part, let's check whether we've assembled all the necessary hardware components.

Kindly refer to the connection schematic attached below. After you've wired all the components properly, it's time to upload the necessary code.

Code

MQ-2 sensor codeArduino
After setting up the hardware components properly, flash this code into your Arduino.
Feel free to adjust the variable " sensorThres " with a different threshold value.
/*******
 
 All the resources for this project:
 https://www.hackster.io/Aritro

*******/

int redLed = 12;
int greenLed = 11;
int buzzer = 10;
int smokeA0 = 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 A0: ");
  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);
}

Schematics

Connection schematic diagram
Circuit 1

Comments

Similar projects you might like

Security Access Using RFID Reader

by Aritro Mukherjee

  • 260,344 views
  • 42 comments
  • 281 respects

Smoke Sensor

Project showcase by Jiss Anto

  • 3,987 views
  • 0 comments
  • 7 respects

IoT Home Security Model

Project showcase by Aaron Kow

  • 53,004 views
  • 41 comments
  • 155 respects

Using the YL-39 + YL-69 Soil Humidity Sensor with Arduino

Project tutorial by Sorin Trimbitas

  • 28,112 views
  • 6 comments
  • 17 respects

Ultrasonic Sensor with Alarm, LCD and Temperature

Project tutorial by MichDragstar

  • 5,935 views
  • 7 comments
  • 21 respects
Add projectSign up / Login