Project Report on Air Quality Monitoring Device using Arduino

Project Report on Air Quality Monitoring Device using Arduino

1. INTRODUCTION

As our project is based on IoT, let us throw some light on the topic of IoT itself.

APPLICATIONS OF IOT:

A growing portion of IoT devices are created for consumer use, including connected vehicles, home automation, wearable technology, connected health, and appliances with remote monitoring capabilities.

Problem Statement

As urbanization causes the growth of suburban communities, the existing transportation infrastructure dependent on fossil fuels must expand. An increase in vehicle use gives rise to an increase in traffic-related pollutant emissions. According to science, the six common air pollutants are particulate matter, ground-level ozone, carbon monoxide, sulfur oxides, nitrogen oxides, and lead. These are called the criteria pollutants and thus are required to be measured to tell us how healthy the air is to breathe. Vehicular emissions contribute carbon monoxide, carbon dioxide, and nitrogen oxides to air pollution.

2. Background Research

A WIFI-enabled indoor air quality monitoring and control system:- Published in Control & Automation (ICCA), 2017 13th IEEE International Conference

Proposed System

Now in this project, we are using the locally available gas sensors for observing polluted gases like Carbon monoxide (CO), Carbon dioxide (CO2), and parameters like temperature, humidity. By using this method people can view the level of pollution through a wireless system. It reduced cost, is reliable, and is comfortable for any place where we are monitoring the gases.

Goals and Objectives

• quality of air can be checked indoors as well as outdoor.

Project Setup

Connections:

Stakeholders:

Project Resources

HARDWARE REQUIREMENTS:

SYSTEM ANALYSIS AND DESIGN

COMPONENT DESCRIPTION:

Air Quality Sensor (MQ135):-

Product Description:

Potentiometer: –

Product Description:

16X2 LCD Panel:-

Product Description:

Pin Description of 16×2 LCD Panel:

Arduino Uno:-

Product Description:

Pin Description: Pin Category

Design diagrams/ UML diagrams/ Flow Charts/ E-R diagrams

use case diagramclass diagramactivity diagramSequence diagram

User Interface

Arduino is an open-source computer hardware and software company, project, and user community that designs and manufactures single-board microcontrollers and microcontroller kits for building digital devices and interactive objects that can sense and control objects in the physical world. Arduino board designs use a variety of microprocessors and controllers. The boards are equipped with sets of digital and analog input/output (I/O) pins that may be interfaced to various expansion boards (shields) and other circuits. The boards feature serial communications interfaces, including Universal Serial Bus (USB) on some models, which are also used for loading programs from personal computers. The microcontrollers are typically programmed using a dialect of features from the programming languages C and C++. In addition to using traditional compiler toolchains, the Arduino project provides an integrated development environment (IDE) based on the Processing language project.

UI Mockup

Code Explanation:

Before beginning the coding for this project, we need to first Calibrate the MQ135 Gas sensor. There are lots of calculations involved in converting the output of the sensor into a PPM value. we are using the Library for MQ135, you can download and install this MQ135 library from here: https://github.com/GeorgK/MQ135.

MQ135 gasSensor = MQ135(A0);

float air quality = gasSensor.getPPM();

#include "MQ135.h"

void setup (){

Serial.begin (9600);

}

void loop() {

MQ135 gasSensor = MQ135(A0); // Attach sensor to pin A0

float rzero = gasSensor.getRZero();

Serial.println (rzero);

delay (1000);

}

#include <SoftwareSerial.h>

#define DEBUG true

SoftwareSerial esp8266(9,10);

#include <LiquidCrystal.h>

LiquidCrystal lcd(12,11, 5, 4, 3, 2);

const int sensorPin= 0;

int air_quality;

pinMode(8, OUTPUT);

lcd.begin(16,2);

lcd.setCursor (0,0);

lcd.print (" ");

lcd.setCursor (0,1);

lcd.print ("Sensor Warming ");

delay(1000);

Serial.begin(115200);

esp8266.begin(115200);

sendData("AT+RST\r\n",2000,DEBUG);

sendData("AT+CWMODE=2\r\n",1000,DEBUG);

sendData("AT+CIFSR\r\n",1000,DEBUG);

sendData("AT+CIPMUair_quality=1\r\n",1000,DEBUG);

sendData("AT+CIPSERVER=1,80\r\n",1000,DEBUG);

pinMode(sensorPin, INPUT);

lcd.clear();

lcd.setCursor (0, 0);

lcd.print ("Air Quality is ");

lcd.print (air_quality);

lcd.print (" PPM ");

lcd.setCursor (0,1);

if (air_quality<=1000)

{

lcd.print("Fresh Air");

digitalWrite(8, LOW);