In this article I have explained how to interface air quality sensor MQ-135 with Arduino. We will see overview of the sensor and construct a project which detects LPG gas leakage and see some relevant readings in serial monitor.
What is MQ-135 sensor?
MQ-135 is an air quality or air pollution measuring sensor device. It can detect various chemical contents in air and give appropriate voltage variation at the output pin depending on the chemical concentration in air.
It can detect alcohol, Benzene, smoke, NH3, butane, propane etc. if anyone of the stated chemical concentration rises, the sensor convert the chemical concentration in air to appropriate voltage range, which can be processed by Arduino or any microcontroller. It cannot tell what kind of chemical concentration rose in the air.
Typical MQ-135 sensor:
It is 6 terminal device which is symmetric in terminal placement; both the sides of the terminal are interchangeable. Here is the illustration of pins:
Here is a basic connection diagram:
Two ‘A’ pins are shorted internally and two ‘B’ pins are shorted internally. H and H pins is heater coil of the sensor. The heater coil is used to heat up the air around the sensor, so that it can detect the chemical content in the air optimally.
The sensor can take up to few minutes to heat up to reach optimal working condition. It not advisable to touch the sensor while operating because it can get pretty warm.
The sensor has an operating voltage of 5V; the sensor must be powered from external sources only, as it consumes about 200mA for heating. The arduino voltage regulator can’t deliver this much current.
For testing, you can connect a ammeter in mA range at the output pin B and bring a cigar gas lighter. Try to leak the gas without igniting it near the sensor. As the concentration of gas rises around the sensor, the current flow through ammeter increases. If this works, your sensor is working normally.
Now, you know quite a bit about MQ-135 Sensor, let’s move ahead and learn how to interface the MQ-135 with Arduino interfacing.
The circuit:
Make the connections as per the diagram, and check the gas sensor wire connection etc. Rest of the circuit is self explanatory.
The analogue pin of Arduino measures the voltage from the gas sensor. When the gas concentration rises above preset threshold in the program, the buzzer starts beeps.
The sensor takes a couple of minutes or so to warm up to reach optimal operating condition. Until it reaches optimal working temperature, the values in the serial monitor fluctuates high and low. It stabilizes after few minutes.
In the program the user can set the threshold value, it must be done only after careful observation on normal ambient concentration value in the serial monitor. For instants, if the value fluctuates from 400 to 430, the threshold must set well above, like 500. It must not trigger the buzzer falsely.
The values displayed in the serial monitor are NOT ‘ppm’ level of chemical concentration or anything like that. It is mere measure of voltage level from the sensor; Arduino interprets the value from 0 to 1023. So we can say, higher the chemical concentration, higher the values get displayed.
Program:
//-------------------Program Developed by R.Girish-----------------//
int input = A0;
int output = 7;
int th=500; // Set threshold level.
void setup()
{
Serial.begin(9600);
pinMode(output,OUTPUT);
digitalWrite(output,LOW);
}
void loop()
{
Serial.println(analogRead(input));
if(analogRead(input)>th)
{
digitalWrite(output,HIGH);
}
else
{
digitalWrite(output,LOW);
}
delay(500);
}
//-------------------Program Developed by R.Girish-----------------//
The serial monitor is not mandatory in this project it also works as standalone; we need it only to calibrate the threshold value in the program.
Set the threshold value by changing:
int th=500; // Set threshold level.
Replace 500 with your value.
This concludes the article regarding how to interface MQ-135 air quality sensor with Arduino, for further queries you can post your thoughts through your comments.
muhammad saifullah says
hello sir, I’m electrical students, I want to make this project. I want to know how to draw the circuit using Proteus 8 Professional. And how to insert the code to the circuit. I hope you can help me.
Swagatam says
Hello Muhammad, sorry I do not use software for testing my circuits, instead I test them practically, so I can’t suggest much regarding them.
Gautam Gupta says
What is the name of this circuit?? And how can we purchase this in local markets??
Swagatam says
Air Quality Sensor!
Babatunde says
Am still expecting your promise. Thank you
Babatunde says
thanks for this good work.
please i would like to have the one I can use MQ135 module and LCD 16 x2 with the code. thanks
Swagatam says
Thanks Babtunde, I’ll try to find if I get I’ll may update it here for you!
Babatunde says
Oh, I will so much appreciate that. Thanks a lot
Babatunde says
Please do not forget to send me my request when you have it. Thanks in anticipation.
Swagatam says
Sure, I am trying but no luck so far!
bashir abdulkadir says
Thank u sir. and my another question is that can any inverter work with any transformer like 6-0-6, 12-0-12 and so on according to watt i require and i know if i used 6-0-6 transformer the battery must be 6v the same with 12-0-12 battery must be 12v Sir may i correct or not ?
Swagatam says
Bashir, all transformers can be used for inverter application, but the operating voltage needs to be approximately equal to its primary winding voltage rating…so a 6-0-6 will require a 6V batt, a 12-0-12 will require a 12V batt and so on
bashir abdulkadir says
sir if i want connect transistor six TIP35C in pararell may i going to connect based to based emitter to emitter collector to collector ?
Swagatam says
Bashir, that's possible but make sure to connect all the transistors over a common heatsink
you can refer the following article for more help
https://www.homemade-circuits.com/2011/11/transistor-facts.html
bashir abdulkadir says
thanx sir
bashir abdulkadir says
sir can i substituate NPN transistor with any NPN transistor even if ther values are not the same ?
Swagatam says
yes you can, but preferably their main specs should be similar.