Air Quality Monitor

DIY Arduino air quality monitor which can measure surrounding air quality also shows temperature and humidity in your room.

May 21, 2021

154858 views

62 respects

Components and supplies

1

DHT11 Temperature & Humidity Sensor (3 pins)

1

0.96" i2c OLED display

1

Arduino Nano R3

1

Air Quality sensor (MQ135)

Tools and machines

1

3D Printer (generic)

1

Soldering iron (generic)

Apps and platforms

1

Arduino IDE

Project description

Code

Arduino Air Quality Monitor

arduino

Downloadable files

AirQuality.jpg

AirQuality.jpg

AirQuality.jpg

AirQuality.jpg

Documentation

BOX

This is a 3D enclosure I design for the project. But you don't need a 3d printer for build one, you can make your own enclosure with many thing like cardboard.

BOX

BOX

This is a 3D enclosure I design for the project. But you don't need a 3d printer for build one, you can make your own enclosure with many thing like cardboard.

BOX

Top

Top

Top

Top

Comments

Only logged in users can leave comments

haaxy

6 months ago

Is the soldering Iron necessary?

haaxy

6 months ago

is the soldering iron necessary?

homation

6 months ago

Pls can you send me the Edited code for 1.3 oled display this above code is not working with this display reply on my emailid

homation

6 months ago

Please send me the Edited code on my email add

sanket7120

7 months ago

Sir my project is not ruuning what can i do

selenyx09

9 months ago

Hello is this still working i planned to to this what's your thought?

sanket7120

7 months ago

Sir plz can give me your number for help

super-admin

a year ago

Please help, I tried your project but the program code couldn't be uploaded to the Arduino Idea, and the Oled LCD that I used also couldn't turn on

super-admin

a year ago

Please help, I tried your project but the program code couldn't be uploaded to the Arduino Ide, and the Oled LCD that I used also couldn't turn on

nottt

a year ago

themp and RH doesnt print on display can someone help?

emilking

a year ago

What cables are needed

celestial_fr

a year ago

Hey, I've made this project on a breadboard. I've got all the connections correct and I've also uploaded the AS IT IS code without any changes and errors. But my project is not working at all. Whenever I plug USB in the Arduino NANO, only the POW light glows and L light keeps blinking, otherwise no other components work at all. Please guide me. It's urgent I've got a strict deadline!

andre02005

a year ago

can you show the esquematic view from fritzing?

andre02005

a year ago

what is RH?

andre02005

a year ago

i have an error with dht

riahyshirin

2 years ago

very god

gerwin050

2 years ago

Good working project but i have one minor problem with the display. When refreshing the oled screen in the right botom of the screen there is some flickering. Just like it's printing something for a very short period. Is this about the quality of the Oled or is this something i could easily fix? Thank you in advance!

valerko

10 months ago

i have the same problem currently so if you found any solution to the problem please tell me.

ec_s2

2 years ago

very gud proyect

zokhirjon

2 years ago

how do you know gas level in your code? is there any standard about air pollution level ?

abhishek348923

2 years ago

so how am i suppose to those 2 codes above on the arduino board together>??

raja_rwp

2 years ago

How can I get library files to include to arduino IDE?

021191065shifat

2 years ago

just amazing project

sazin_samin

2 years ago

Good project, How can I get this data to my mobile phone in real time with alerting system???

abid_hossain

2 years ago

Thank you. You can use a esp8266 along with the arduino and send the data through internet. You can use iot platform like "blynk iot" to get the real time data and notification to your mobile phone.

Anonymous user

2 years ago

can u provide the code for this project to do it with 16x2 lcd

abid_hossain

2 years ago

I've Uploaded the LCD version of this project. please check that out here: https://create.arduino.cc/projecthub/abid_hossain/air-quality-monitor-with-1602-lcd-fc27db

akshay_arjun_007

2 years ago

which site or software did you use to create the SCHEMATIC? I couldn't find MQ135 & DHT11 sensors in TINKERCAD. can u help me out?

abid_hossain

2 years ago

I used Fritzing to create the schematic. It is a free software. You can find library for any component there.

Anonymous user

2 years ago

Perfect

sunsketcher

2 years ago

This looks good. I'm new to Arguing boards so I'm going to use this as a jumping off point (or jumping in point). I am using various GRAVITY: CCS811 AIR QUALITY SENSOR being one, ANALOG TURBIDITY SENSOR, ANALOG TDS SENSOR/METER and of course the obligatory temp/humidity sensor along with the on-board sensors of the ARDUINO NANO 33 IOT I also have a NEO 6M GPS module. I 'll log it to a micro sd card. So thanks again for getting me started😶

sunsketcher

2 years ago

Maybe I'll spell-check before I post 📪 I am not new to Arguing but I am new to Arduino. 🤗

Anonymous user

2 years ago

I love this project. I will try to make this project soon. ❤️

Anonymous user

2 years ago

I made thik project and it's work accurately ❤️

abid_hossain

2 years ago

Thanks for trying my project ... hope you enjoyed making it♥️

Anonymous user

2 years ago

Please fix the level check ranges in the function air_sensor. Now if the level is 181, instead of poor, it will display toxic, which is not true. The same will happen with the values 225 and 300. Just include them in the upper range by '>='. Another improvement will be to add a filter for the analog reading. The values jump up and down with some noise and if it is on the border of two ranges it is not good to display flashing different texts for the result. Exponential moving average filter with 5-10% weight of the new reading will do the job. Something like this: float filter_avg = 0.0; float gas_filter(int ach) { float current_value= (float)analogRead(ach); if (filter_avg == 0.0) filter_avg =current_value; filter_avg = 0.05 * current_value + 0.95 * filter_avg ; // 5% weight return filter_avg ; } ... gasLevel = int(gas_filter(sensor));

Anonymous user

2 years ago

I want to check this code where should I check it ? Please tell me.

abid_hossain

2 years ago

Please check the project tutorial wisely. The code is attached there.

Anonymous user

2 years ago

Can this be created using Arduino UNO?

iniyan

2 years ago

Can this project be done with a LCD of 16x2 If not can you post the same project with 16x2 I2C LCD and mq2 sensor?

abid_hossain

2 years ago

You can use 1602 lcd, but then you should have to change the library and the code for the 1602 lcd. And if you want to use mq2 then you have to tune the gasLevel value for your sensor. I'll post the same project with 16*2 LCD soon, then I'll pose the link here!

abid_hossain

2 years ago

I've Uploaded the LCD version of this project. please check that out here: https://create.arduino.cc/projecthub/abid_hossain/air-quality-monitor-with-1602-lcd-fc27db

Anonymous user

2 years ago

Thinking of doing this project but I have two questions. Does this project sense methane gas? Can it be used for outside use? Thank you.

abid_hossain

2 years ago

Thank you for showing interest in my project.❤ MQ 135 can detect NH3, NOx, alcohol, Benzene, smoke, CO2, etc. But it is not very suitable for measuring CH4. You can use an MQ4 sensor to measure methane (CH4). then you have to tune your sensor value for your sensor in the code. And it can be used on the outside.

Anonymous user

2 years ago

Hi. I am in the process of adding in a MQ4 sensor. Do I connect it to A0 as well with my MQ135 sensor? Or best to use say A1 on the Arduino board?

Anonymous user

2 years ago

Love this project 🧡❤️💙

Anonymous user

2 years ago

I have MQ-135 ready but it has 4 pins, this project specified 3. Is there any difference or it's okay?

Anonymous user

2 years ago

It works fine. Thanks!

abid_hossain

2 years ago

You have to connect your arduino A0 with the Ao (Analog Out) pin of your MQ135 sensor and let the Do pin open... Thank you♥️

Anonymous user

2 years ago

Oww! Such a cool project and i will try to make this in sha allah.

Anonymous user

2 years ago

The code does not work. It displays the following error message. "Ardfruit_GFX.h. No such file or directory." Please help.

abid_hossain

2 years ago

Include the Ardfruit_GFX library to your arduino ide and it will be solved.

Anonymous user

2 years ago

I have 1.3 oled display, can you please help me how to make it work?

Anonymous user

2 years ago

Amazing project. Definitely I will try to make this one day.

Anonymous user

2 years ago

how to change from good to toxic i burnt some paper and released the smoke directly onto the gas sensor (mq2 instead of mq135). i also currently dont have dth sensor will it affect the mq2?

Anonymous user

2 years ago

can i know which programmer do you use for this project in ardino nano

alfiemark305

2 years ago

this project is amazing :) <3 <3

Anonymous user

2 years ago

Can this be created using Arduino UNO?

devjhon14

2 years ago

I have 1.3 oled display, can you please help me how to make it work?

Anonymous user

2 years ago

how to change from good to toxic i burnt some paper and released the smoke directly onto the gas sensor (mq2 instead of mq135). i also currently dont have dth sensor will it affect the mq2?

Anonymous user

3 years ago

The code does not work. It displays the following error message. "Ardfruit_GFX.h. No such file or directory." Please help.

abid_hossain

2 years ago

Include the Ardfruit_GFX library to your arduino ide and it will be solved.

Anonymous user

3 years ago

Please fix the level check ranges in the function air_sensor. Now if the level is 181, instead of poor, it will display toxic, which is not true. The same will happen with the values 225 and 300. Just include them in the upper range by '>='. Another improvement will be to add a filter for the analog reading. The values jump up and down with some noise and if it is on the border of two ranges it is not good to display flashing different texts for the result. Exponential moving average filter with 5-10% weight of the new reading will do the job. Something like this: float filter_avg = 0.0; float gas_filter(int ach) { float current_value= (float)analogRead(ach); if (filter_avg == 0.0) filter_avg =current_value; filter_avg = 0.05 * current_value + 0.95 * filter_avg ; // 5% weight return filter_avg ; } ... gasLevel = int(gas_filter(sensor));

Anonymous user

3 years ago

Perfect

Anonymous user

3 years ago

Thinking of doing this project but I have two questions. Does this project sense methane gas? Can it be used for outside use? Thank you.

Anonymous user

2 years ago

Hi. I am in the process of adding in a MQ4 sensor. Do I connect it to A0 as well with my MQ135 sensor? Or best to use say A1 on the Arduino board?

abid_hossain

2 years ago

Thank you for showing interest in my project.❤ MQ 135 can detect NH3, NOx, alcohol, Benzene, smoke, CO2, etc. But it is not very suitable for measuring CH4. You can use an MQ4 sensor to measure methane (CH4). then you have to tune your sensor value for your sensor in the code. And it can be used on the outside.

asiannerdie

3 years ago

I have MQ-135 ready but it has 4 pins, this project specified 3. Is there any difference or it's okay?

abid_hossain

2 years ago

You have to connect your arduino A0 with the Ao (Analog Out) pin of your MQ135 sensor and let the Do pin open... Thank you♥️

asiannerdie

2 years ago

It works fine. Thanks!

Anonymous user

3 years ago

can u provide the code for this project to do it with 16x2 lcd

abid_hossain

2 years ago

I've Uploaded the LCD version of this project. please check that out here: https://create.arduino.cc/projecthub/abid_hossain/air-quality-monitor-with-1602-lcd-fc27db

021191065shifat

3 years ago

just amazing project

Anonymous user

3 years ago

I want to check this code where should I check it ? Please tell me.

abid_hossain

2 years ago

Please check the project tutorial wisely. The code is attached there.

akshay_arjun_007

3 years ago

which site or software did you use to create the SCHEMATIC? I couldn't find MQ135 & DHT11 sensors in TINKERCAD. can u help me out?

abid_hossain

2 years ago

I used Fritzing to create the schematic. It is a free software. You can find library for any component there.

sunsketcher

3 years ago

This looks good. I'm new to Arguing boards so I'm going to use this as a jumping off point (or jumping in point). I am using various GRAVITY: CCS811 AIR QUALITY SENSOR being one, ANALOG TURBIDITY SENSOR, ANALOG TDS SENSOR/METER and of course the obligatory temp/humidity sensor along with the on-board sensors of the ARDUINO NANO 33 IOT I also have a NEO 6M GPS module. I 'll log it to a micro sd card. So thanks again for getting me started😶

sunsketcher

2 years ago

Maybe I'll spell-check before I post 📪 I am not new to Arguing but I am new to Arduino. 🤗

iniyan

3 years ago

Can this project be done with a LCD of 16x2 If not can you post the same project with 16x2 I2C LCD and mq2 sensor?

abid_hossain

2 years ago

I've Uploaded the LCD version of this project. please check that out here: https://create.arduino.cc/projecthub/abid_hossain/air-quality-monitor-with-1602-lcd-fc27db

abid_hossain

2 years ago

You can use 1602 lcd, but then you should have to change the library and the code for the 1602 lcd. And if you want to use mq2 then you have to tune the gasLevel value for your sensor. I'll post the same project with 16*2 LCD soon, then I'll pose the link here!

Anonymous user

3 years ago

Bonjour, j'ai vraiment aimé votre projet.

abid_hossain

2 years ago

Merci beaucoup♥️

sazin_samin

3 years ago

Good project, How can I get this data to my mobile phone in real time with alerting system???

abid_hossain

2 years ago

Thank you. You can use a esp8266 along with the arduino and send the data through internet. You can use iot platform like "blynk iot" to get the real time data and notification to your mobile phone.

megboron

3 years ago

I made thik project and it's work accurately ❤️

abid_hossain

2 years ago

Thanks for trying my project ... hope you enjoyed making it♥️

towhid_azim

3 years ago

Oww! Such a cool project and i will try to make this in sha allah.

tanvir504

4 years ago

Amazing project. Definitely I will try to make this one day.

megboron

4 years ago

I love this project. I will try to make this project soon. ❤️

ifrat150

4 years ago

Love this project 🧡❤️💙