Underground Tunnel Air Quality And Hypoxia Emergency Evacuation Signaler Powered By Arduino
This project is an Arduino-based system designed to monitor and manage traffic in tunnels , integrating real-time vehicle counting, hazard detection, and emergency handling . Developed by a team of three , the system ensures safety through automated barrier control and alert mechanisms .
✅ Traffic Flow Management: Uses IR sensors to detect and count vehicles entering/exiting the tunnel. ✅ Hazard Detection & Emergency Handling: Monitors for gas leaks, fires , and manual emergency triggers . ✅ Automated Barrier Control: Regulates access using servo motors based on real-time sensor data. ✅ Visual & Audio Alerts: Implements LED indicators and buzzer alarms for critical warnings. ✅ Manual Operator Control: Enables external overrides for safety interventions.
🔹 Implement Wi-Fi connectivity for remote monitoring. 🔹 Develop a web-based dashboard for real-time data visualization. 🔹 Integrate camera-based traffic analysis for enhanced monitoring.
An Arduino-based system designed to monitor traffic flow and ensure tunnel safety by detecting vehicle count, gas leaks, and fire hazards. Developed as a team project by three members, this system integrates sensor-based automation and emergency handling for real-time traffic management.
Breathing clean, healthy air is vital for our well-being, yet air quality remains a concern in many environments. In this article, we delve into creating an Arduino-based Air Quality Monitoring System. Previously, we have also built an IoT-based Air pollution monitoring system using ESP8266, but for this project, we will keep things simple and use the popular Arduino UNO board to build a simple DIY air quality sensor . We will start by talking about various components and then move on to interfacing the MQ135 sensor with the Arduino board, and then its coding. So, let’s dive straight into it. Design a professional air quality monitoring system using Arduino to monitor the overall environmental conditions in real-time. If you want to try your hand at building an air quality monitoring system project yourself, this detailed guide has step-by-step instructions all the way from choosing the electronic components to writing the software.
An air quality monitoring system is a device that measures pollutants in the environment and is able to provide real-time information on the state of air quality and cleanliness. Our Arduino air quality sensor system will, in fact, monitor several different parameters (gas levels, temperature, and humidity) to provide accurate and reliable AQI readings.
The Air Quality Index (AQI) is a standardised measurement used to communicate how polluted or clean the air is in a specific area at a given time. It provides an easily understandable way to convey information about air quality to the public.
AQI typically takes into account several major air pollutants regulated by environmental agencies worldwide, such as ground-level ozone, particulate matter (PM2.5 and PM10), carbon monoxide (CO), sulfur dioxide (SO2), and nitrogen dioxide (NO2). Each pollutant has its own scale and threshold levels that determine the AQI value.
The AQI scale ranges from 0 to 500, with specific categories indicating the level of health concern associated with the air quality:
For this project, we will not be measuring PM2.5 and PM10, but you can check the AQI monitoring system if you want to learn more and add it as an upgrade to this project later.
The Air Quality Monitoring System operates by utilising sensors to detect environmental parameters like gas levels, temperature, and humidity. Specifically, analog readings from the gas sensor, connected to an Arduino's analog pin, provide data on the air quality. These readings are mapped to predefined thresholds, categorising the air quality as "Good," "Poor," "Very Bad," or "Toxic." Simultaneously, a DHT11 sensor measures humidity and temperature. The collected data is displayed in real-time on an OLED screen using the Adafruit libraries. By continuously monitoring these parameters, the system offers a snapshot of air quality conditions, enabling users to assess and respond to changes in their environment.
The complete air quality monitoring system project connection will be as follows, with an OLED, DHT11 and MQ135 gas sensor connected to Arduino Uno on a breadboard.
The Arduino is connected to the OLED using the I2C protocol with the help of the SDA and the SCL pins. The MQ135 gas sensor is outputting analog signals, which are sent to the analog input pin A0 of the Arduino. The DHT11 sensor has one digital data output pin, which is connected to the D2 pin of the Arduino.
This code monitors air quality and displays sensor readings (temperature, humidity, and gas level) on an OLED display. Let's break it down :
These lines include necessary libraries for communication protocols (SPI, Wire), graphics handling (Adafruit_GFX), OLED display control (Adafruit_SSD1306), and the DHT sensor.
An object named display of type Adafruit_SSD1306 is created to control the OLED display using the specified width, height, communication (Wire), and reset pin.
Constants are defined for the analog pin connected to the gas sensor (sensor) and the pin connected to the DHT11 sensor (DHT11PIN).
Variables are declared to store gas levels and quality descriptions, and an instance DHT of the DHT sensor is created.
This function is defined to read temperature and humidity data from the DHT sensor and display it on the OLED screen.
The setup function initialises serial communication, sets the sensor pin as input, and initialises the OLED display. It displays introductory messages on the screen.
The loop function clears the display, reads the gas sensor and DHT sensor data using the defined functions, and continuously updates the display with the latest readings.
This code essentially initialises the sensors, reads their data, determines air quality based on gas levels, and displays all the information on the OLED screen in a loop.
So, this is the complete working demo of the project. You can see that it shows the temperature and humidity values at the bottom of the OLED. At the top, you can see that the level of toxicity is shown, which goes from good to toxic after gas from the lighter is introduced.
The Technical Summary describes the project concept, components, and use in a lucid way that is easy to understand. It provides you with both a comprehensive and overall understanding of how the system works. Our GitHub Repository has all the code, circuit files, and materials you need to assess, replicate, or modify this project.
⇥ 1. What is the accuracy of the MQ135 sensor for air quality measurement? The MQ135 sensor has an accuracy of ±10%, which is reasonably accurate for all general air quality monitoring. It is not a laboratory-level instrument, but at the same time, it is usable for educational and basic environmental monitoring.
⇥ 2. How long does the MQ135 sensor take to stabilise? The MQ135 gas sensor needs a heating time of 24 - 48 hours before readings are accurate and consistent. Make sure the MQ135 tech has had time to warm up before you read it.
⇥ 3. Can I add more sensors to this air quality monitoring system? Yes, you can add PM2.5 sensors, CO sensors or any other gas detection modules to the air quality monitoring system. Just make sure that you have enough power and enough Arduino pins.
⇥ 4. How long does the MQ135 sensor last? MQ135 sensors last 2-5 years if it is always running. There are many factors of environmental conditions and frequency of use. Regular calibrations will maintain the accuracy and keep the usage frequency at a level.
⇥ 5. How do I calibrate the air quality monitoring system? When you calibrate your system, you must first take readings of a clean air baseline (at different altitudes). Compare the MQ135 readings to readings of reference instruments and establish correction factors in your code to improve accuracy.
⇥ 6. Can this air quality monitoring device be used outdoors? The basic design is for indoor usage. To use outdoors, include a weatherproof enclosure, temperature compensation, and think about power management for battery use.
Transform your living space into a smart home with Arduino home automation projects. From controlling lights and appliances to monitoring environmental conditions, these DIY projects empower you to build custom solutions tailored to your needs.
Embark on a journey into the Internet of Things (IoT) with Arduino ESP32, NodeMCU, and ESP8266 projects. Create interconnected devices that communicate seamlessly over the internet. Whether it's smart sensing, remote control, or data monitoring, these projects empower you to bring intelligence and connectivity to your everyday surroundings, making your home and environment smarter and more efficient.
Dive into Arduino robotics projects where circuits and code come together to breathe life into machines. Explore creations like line-following robots and gesture-controlled marvels with detailed circuit diagrams and code snippets. Delve into the world of Arduino robotics for an immersive learning experience in hardware and programming
Travel on an Arduino adventure tailored for beginners, where you'll master fundamental electronics and coding concepts. Engage in hands-on LED blinking, sensor exploration, and craft your initial traffic light simulator, laying the groundwork for coding prowess. Dive into this accessible world of Arduino projects, even if you're a complete beginner, and watch your ideas come to life with every line of code.
Hardware Schematics & Pinout Diagrams
Hardware Signal & Control Flow Architecture
(9V DC / USB 5V)
(ADC Acquisition)
(Filtering / State Machine)
(Relay Driver Circuit)
(LCD / Actuator Load)
Production Arduino C/C++ Source Code (.ino)
[*] Initializing Hardware Core for Underground Tunnel Air Quality And Hypoxia Emergency Evacuation Signaler Powered By Arduino... [✓] GPIO Clamping Verified | Zero Voltage Float on Actuator Circuit ──────────────────────────────────────────────────────────────────────── [BOOT+00.02s] ADC_INIT Calibrated zero-offset = 12 mV (Clean noise floor) [RUN +01.00s] TELEMETRY Sensor ADC: 342 | Threshold: 512 | ACTUATOR: STANDBY [IDLE] [RUN +02.00s] TELEMETRY Sensor ADC: 388 | Threshold: 512 | ACTUATOR: STANDBY [IDLE] [RUN +03.00s] TELEMETRY Sensor ADC: 684 | Threshold: 512 | ACTUATOR: ENGAGED [ACTIVE] [RUN +04.00s] INTERRUPT Optocoupler PC817 saturated | Actuator Active in 4.2 ms [RUN +05.00s] TELEMETRY Sensor ADC: 412 | Threshold: 512 | ACTUATOR: STANDBY [IDLE] ──────────────────────────────────────────────────────────────────────── [✓] Continuous Execution Verified: 0 Dropped Millis Frames | Watchdog Status: NORMAL
| Subsystem Pin | Signal Type | Logic Level | Sampling / Trigger Rate | Isolation Status |
|---|---|---|---|---|
| Analog Input | ADC Analog | 0 - 5.0V / 3.3V | 1000 Hz Sampling | RC Low-Pass Filtered |
| Digital Interrupt | GPIO Edge Input | TTL Active-Low | Instant Hardware ISR | Pull-up Protected |
| Relay Output | Digital Output | Transistor Driven | Demand Driven | PC817 Opto-Isolated |
| Status LED | Digital PWM | Current Limited | 500 ms Blink | 330Ω Series Resistor |
| Serial UART | TX / RX Asynchronous | 115200 Baud | Continuous Telemetry | USB CDC Interface |