Giter Site home page Giter Site logo

whatiskeptiname / mobile-aqi-device Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 0.0 729 KB

Arduino / NodeMCU ESP8266 based project which displays the current Air Quality Index (AQI) on a seven-segment display.

C 79.87% C++ 20.13%
airquality arduino nodemcu-esp8266 aqi dust-sensor gp2y1010au0f

mobile-aqi-device's Introduction

Mobile-AQI-Device

Mobile-AQI-Device is a NODEMCU ESP32 based Air Quality Index device developed during Space Apps Challenge | 2019 under Surface air quality mission.

Images

Components Used

  1. NODEMCU ESP32
  2. Dust Sensor Module - GP2Y1010AU0F
  3. Seven-Segment Display
  4. Piezo Buzzer
  5. Bread Board
  6. Powerbank
  7. Polar Capacitor 220 µF
  8. Resistor 150 Ω

Working

Dust Sensor Module - GP2Y1010AU0F is used for measuring concentration of dust particles in the air. A power bank of 5v is used as a power supply that powers the Node Mcu along with other components. Input from sensor (Voltage) is taken and processed to AQI mg/m3.The code is divided in to three sections:

  1. 7-seg.h: It is used to display the pollution level between 0 to 9 where 0 is the lowest pollution level and 9 is the highest.

  2. Pollution.h: This section is used to interface with sensor. The code required to get the raw value and convert it to mg/m3 is included here.

  3. reg.h: Here the regression calculation is done where the AQI of next hour is calculated using the reference data of previous hours.

  4. Mobile_AQI.ino: This is the main file to execute all the process. The headers are imported and their respective functions are called. The main processing sequence starts from this file. The Current AQI value is displayed on the web browser if the ip of device is used as url. Both the device and web browser should be in same network.

As we can see in the video linked below, the red dot at the end of display signifies the current pollution level and the level without the red dot denotes the predicted pollution level after an hour. The index value is updated each second. The data is not linear but linear regression model is used just for the proof of concept. Arduino Code folder contains same but optimized code for Arduino.

Watch Video

mobile-aqi-device's People

Contributors

whatiskeptiname avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.