กลับไปหน้ารวมไฟล์
air-quality-cheker-1ed19f-en.md

AirQualityMonitoring

Checkingofairqualitybymeasuringpollutionofamountofgasespresentinair.

CODE FOR PROJECT:

/* Air Pollution Monitoring System

using Arduino and MQ135 Air Quality Sensor

www.Electroduino.com

*/

#include "MQ135.h"

//OLED Display libraries

#include

#include

#include

#include

#define SCREEN_WIDTH 128 // OLED display width, in pixels

#define SCREEN_HEIGHT 64 // OLED display height, in pixels

#define OLED_RESET 4

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

//In and Out

int RedLed = 9;

int GreenLed = 8;

int Buzzer = 7;

void setup()

{

pinMode(RedLed, OUTPUT); // initialize digital pin RedLed as an output.

pinMode(GreenLed, OUTPUT); // initialize digital pin GreenLed as an output.

pinMode(Buzzer, OUTPUT); // initialize digital pin Buzzer as an output.

// Start serial communication between arduino and your computer

Serial.begin(9600);

//initialize with the I2C addr 0x3C (128x64)

display.begin(SSD1306_SWITCHCAPVCC, 0x3C);

display.clearDisplay();

delay(10);

// Print text on display

display.clearDisplay();

display.setTextSize(1);

display.setTextColor(WHITE);

display.setCursor(0, 0);

display.println("ELECTRODUIN0"); // Print text

display.display();

display.setTextSize(1);

display.setTextColor(WHITE);

display.setCursor(0, 20);

display.println("Air Pollution");

display.display();

display.setTextSize(1);

display.setTextColor(WHITE);

display.setCursor(0, 35);

display.println(" Monitoring");

display.display();

delay(2000);

}

void loop()

{

// Read Senso value

MQ135 gasSensor = MQ135(A0);

float air_quality = gasSensor.getPPM();

// Print Senso value on Serial Monitor Window

Serial.print("Air Quality: ");

Serial.print(air_quality);

Serial.println(" PPM");

Serial.println();

//Print Senso value or Air Quality Index on OLED Display

display.clearDisplay();

display.setCursor(0, 0); //oled display position

display.setTextSize(1);

display.setTextColor(WHITE);

display.println("Air Quality Index");

display.setCursor(0, 20); //oled display position

display.setTextSize(2);

display.setTextColor(WHITE);

display.print(air_quality);

display.setTextSize(1);

display.setTextColor(WHITE);

display.println(" PPM");

display.display();

// when air quality value less than 1000PPM

if (air_quality<=1000)

{

digitalWrite(GreenLed, HIGH); // turn the Green LED on

digitalWrite(RedLed, LOW); // turn the Red LED off

noTone(Buzzer); // turn the Buzzer off

// Print text on OLED Display

display.setTextSize(2);

display.setTextColor(WHITE);

display.setCursor(0, 45);

display.println("Fresh Air"); //Message

display.display();

delay(2000);

}

// when air quality value greater than 1000PPM & less than 2000PPM

elseif( air_quality>=1000 && air_quality<=2000 )

{

digitalWrite(GreenLed, LOW); // turn the Green LED off

digitalWrite(RedLed, HIGH ); // turn the Red LED on

noTone(Buzzer); // turn the Buzzer off

// Print text on OLED Display

display.setTextSize(2);

display.setTextColor(WHITE);

display.setCursor(0, 45);

display.println(" Poor Air"); //Message

display.display();

delay(2000);

}

// when air quality value greater than 2000PPM

elseif (air_quality>=2000 )

{

digitalWrite(GreenLed, LOW); // turn the Green LED off

digitalWrite(RedLed, HIGH); // turn the Red LED on

tone(Buzzer, 1000, 200); // turn the Buzzer on

// Print text on OLED Display

display.setTextSize(2);

display.setTextColor(WHITE);

display.setCursor(0, 45);

display.println("Danger!!"); //Message

display.display();

delay(2000);

}

}

EXPANDED TECHNICAL DETAILS

Handheld Chemical Analysis

This project provides an easy-to-use tool for identifying indoor air pollutants and VOCs (Volatile Organic Compounds).

  • Multi-Pollutant Sensing: Integrates the MQ-135 sensor (for CO2, Alcohol, Smoke) and the SDS011 sensor (for PM2.5/PM10 dust particles). The Arduino samples these inputs every 2 seconds.
  • Health-Index Dashboard: Displays the calculated "Air Quality Score" (from 0 to 500) on a high-contrast I2C OLED, using color-coded alerts to indicate safe vs. hazardous conditions.

Logging

  • Calibration Routine: Includes a software "Clean Air" baseline routine on startup to ensure the MQ sensors are measuring relative changes accurately.

ข้อมูล Frontmatter ดั้งเดิม

title: "Air Quality Cheker"
description: "Checking quality of air using MQ135 sensor and arduino nano."
author: "ashtavinayak_bali"
category: ""
tags:
  - "ardunionano"
  - "ashtavinayaka_bali"
  - "air"
  - "monitoring"
views: 2372
likes: 2
price: 2450
difficulty: "Intermediate"
components:
  - "1x 5 mm LED: Red"
  - "1x Buzzer"
  - "1x Arduino Nano R3"
  - "2x Resistor 220 ohm"
  - "1x Graphic OLED, 128 x 64"
  - "1x Breadboard (generic)"
  - "1x 5 mm LED: Yellow"
  - "1x MQ135 Gas Sensor"
tools: []
apps:
  - "1x Arduino IDE"
downloadableFiles: []
documentationLinks: []
passwordHash: "7417869c9840f2a19d5b7873ad93244f5ea58591ff92ca1e6a24f60b5018a5ba"
encryptedPayload: "U2FsdGVkX1+N50cNVqrTAOs9BSrGFPijJpemxEVq6NVwImuSfSyU8bFjXgMwNppkUVxg5QYGsIF/7Q2P0VUGcihEGSbuo0tC0OuOGYy97sM="
seoDescription: "Monitor Air Quality using MQ135 sensor and arduino nano. Simple DIY air quality monitoring project for makers."
videoLinks: []
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/air-quality-cheker-1ed19f_cover.jpg"
lang: "en"