in

Connecting MQ2 Gas Sensor Module to Arduino UNO


MQ2 Gas Sensor?

MQ2 is one of the popular and most used gas sensors in MQ sensor series. It is a Metal Oxide Semiconductor (MOS) type Gas Sensor also known as Chemiresistors as the detection is based upon change of resistance of the sensing material when the Gas comes in contact with the material. Using a simple voltage divider network, concentrations of gas can be detected.

Specifications

1 ppm equal to?

When measuring gases like CO2, O2, or methane, the term concentration is used to describe the amount of gas by volume in the air. Parts-per-million (ppm) is the ratio of one gas to another. For example, 1,000ppm of CO means that if you could count a million gas molecules, 1,000 of them would be of carbon monoxide and 999,000 molecules would be some other gases.

Connecting MQ2 Gas Sensor Module to Arduino UNO

It is very easy if you know how to use Arduino IDE. Wire Connections are as follows :

MQ2 NodeMCU
VCC 5V
GND GND
D0 Digital Pin #8
A0 Analog Pin#0

Code

Arduino Sketch is very simple & basically just keeps reading analog voltage on A0 pin. It also prints a message on serial monitor when smoke is detected.

#define MQ2pin (0)

float sensorValue;  //variable to store sensor value

void setup()
{
  Serial.begin(9600); // sets the serial port to 9600
  Serial.println("Gas sensor warming up!");
  delay(20000); // allow the MQ-6 to warm up
}

void loop()
{
  sensorValue = analogRead(MQ2pin); // read analog input pin 0
  
  Serial.print("Sensor Value: ");
  Serial.print(sensorValue);
  
  if(sensorValue > 300)
  {
    Serial.print(" | Smoke detected!");
  }
  
  Serial.println("");
  delay(2000); // wait 2s for next reading
}

The output on the serial monitor looks like:

serial moniter

Code Explanation:

The Arduino sketch starts by defining Arduino pin to which analog pin of MQ2 gas sensor is connected. A variable called sensorValue is also defined to store sensor value.

#define MQ2pin (0)
float sensorValue;  //variable to store sensor value

In setup function: we initialize serial communications with the PC and wait for 20 seconds to allow sensor to warm up.

Serial.begin(9600); // sets the serial port to 9600
Serial.println("Gas sensor warming up!");
delay(20000); // allow the MQ-6 to warm up

In loop function: the sensor value is read by analogRead() function and displayed on serial monitor.

sensorValue = analogRead(MQ2pin); // read analog input pin 0  
Serial.print("Sensor Value: ");
Serial.print(sensorValue);

When the gas concentration is high enough, the sensor usually outputs value greater than 300. We can monitor this value using if statement. And when the sensor value exceeds 300, we will display ‘Smoke Detected!’ message.

  if(sensorValue > 300)
  {
    Serial.print(" | Smoke detected!");
  }



Source link

What do you think?

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

one × 2 =

Loading…

0
There’s Hope for American Movie Theaters After All

There’s Hope for American Movie Theaters After All

Branch Specialization

Branch Specialization