This is an old revision of the document!



Statie calitate aer

Monitorizarea parametrilor de mediu

1. Introducere

Acest proiect are ca scop dezvoltarea unui sistem de monitorizare a calitatii aerului intr-o zona rezidentiala. Sistemul colecteaza date in timp real despre mediul inconjurator si le afiseaza intr-un mod usor de inteles pentru utilizator.

Prin utilizarea acestui sistem, utilizatorul poate observa nivelul de poluare, temperatura, umiditatea, nivelul de zgomot si concentratia de praf, astfel incat sa poata lua decizii informate legate de sanatatea sa si de activitatile zilnice.

Datele sunt colectate cu ajutorul unor senzori conectati la o placa Arduino si sunt afisate atat pe o interfata web, cat si local, folosind un display LCD si LED-uri de stare.

2. Componente utilizate

Sistemul este alcatuit din urmatoarele componente hardware:

  • Placa de dezvoltare Arduino UNO R4
  • Senzor de temperatura si umiditate DHT11
  • Senzor de gaze MQ-135
  • Senzor de zgomot (microfon)
  • Senzor de praf Sharp (GP2Y1014AU0F)
  • Modul ceas RTC (DS3231)
  • Display LCD (16×2 cu interfata I2C)
  • LED verde (pentru stare normala)
  • LED rosu (pentru stare de alerta)
  • Rezistente pentru LED-uri (220Ω)
  • Fire de conexiune (jumper wires)
  • Breadboard (pentru conexiuni)
  • Cutie de protectie pentru montaj

Componente software utilizate:

  • Docker
  • MongoDB
  • Backend Node.js
  • Aplicatie web pentru afisare in timp real

2.1 Conexiunile componentelor

Senzorul de temperatura si umiditate (DHT11)

  • VCC → 5V de pe placa Arduino
  • GND → GND de pe placa Arduino
  • DATA → Pinul D7 de pe placa Arduino

Senzorul de gaze MQ-135

  • VCC → 5V de pe placa Arduino
  • GND → GND de pe placa Arduino
  • AO (Analog Output) → Pinul A2 de pe placa Arduino

Senzorul de zgomot (microfon)

  • VCC → 5V de pe placa Arduino
  • GND → GND de pe placa Arduino
  • OUT → Pinul D6 de pe placa Arduino

Senzorul de praf Sharp (GP2Y1014AU0F)

  • VCC → 5V de pe placa Arduino (printr-un rezistor de 150Ω)
  • S-GND → GND de pe placa Arduino
  • V-LED → 5V de pe placa Arduino
  • LED-GND → GND de pe placa Arduino
  • LED → Pinul D4 de pe placa Arduino
  • VOUT → Pinul A0 de pe placa Arduino

Modulul RTC (DS3231)

  • VCC → 3.3V de pe placa Arduino
  • GND → GND de pe placa Arduino
  • SCL → Pinul A5 de pe placa Arduino
  • SDA → Pinul A4 de pe placa Arduino

Modulul RTC este utilizat pentru memorarea si afisarea orei exacte la care sunt realizate masuratorile.

Display LCD 16x2 cu interfata I2C

  • VCC → 5V de pe placa Arduino
  • GND → GND de pe placa Arduino
  • SDA → Pinul SDA de pe placa Arduino
  • SCL → Pinul SCL de pe placa Arduino

Display-ul LCD afiseaza in timp real valorile citite de senzori, alternand automat intre diferite informatii.

LED verde

  • Anod (+) → Rezistor 220Ω → Pin digital Arduino D9
  • Catod (-) → GND

LED-ul verde indica functionarea normala a sistemului si valori sigure ale parametrilor.

LED rosu

  • Anod (+) → Rezistor 220Ω → Pin digital Arduino D8
  • Catod (-) → GND

LED-ul rosu indica depasirea anumitor praguri sau valori ridicate ale poluarii.

Comunicatia cu laptopul

Placa Arduino este conectata la laptop prin cablu USB. Comunicatia dintre sistemul hardware si aplicatia software se realizeaza prin interfata seriala (UART over USB), utilizata pentru transmiterea datelor catre backend.

3. Functionalitate generala

Sistemul citeste periodic datele de la senzori si le proceseaza. Valorile obtinute sunt:

  • temperatura (°C)
  • umiditate (%)
  • nivel gaze
  • nivel zgomot
  • densitate praf

In functie de valorile citite:

  • LED-ul verde indica valori normale
  • LED-ul rosu indica valori ridicate sau periculoase

Display-ul LCD afiseaza informatii esentiale in timp real, precum temperatura, umiditatea, nivelul de gaze sau ora curenta.

Datele sunt transmise catre aplicatia software rulata pe laptop, unde sunt salvate intr-o baza de date locala si afisate in timp real in interfata web.

4. Scopul proiectului

Scopul principal este cresterea nivelului de constientizare asupra calitatii aerului din mediul rezidential si oferirea unei solutii simple si accesibile pentru monitorizarea acestuia.

5. Salvarea si afisarea datelor

Pentru stocarea si vizualizarea informatiilor colectate, proiectul utilizeaza o baza de date locala rulata intr-un container Docker pe laptop.

Modul de functionare

Placa Arduino colecteaza datele de la senzori si formeaza un pachet de date in format JSON. Acest pachet contine valorile citite, precum:

  • temperatura
  • umiditate
  • nivel gaze
  • zgomot
  • praf
  • ora masuratorii

Datele sunt trimise prin conexiune USB catre aplicatia backend rulata pe laptop. Backend-ul prelucreaza informatiile si le salveaza automat in baza de date locala MongoDB.

Transmiterea se realizeaza periodic, la un interval de aproximativ 20 de secunde.

Rolul bazei de date locale

Baza de date locala este utilizata pentru:

  • salvarea istoricului masuratorilor
  • acces rapid la date
  • afisarea valorilor in timp real
  • realizarea de grafice pentru evolutia parametrilor

Utilizarea Docker permite rularea usoara si izolata a bazei de date direct pe laptop.

Aplicatia web

Aplicatia web preia datele salvate in baza de date si le afiseaza utilizatorului intr-un mod intuitiv.

Datele sunt prezentate sub forma:

  • valori numerice in timp real
  • grafice pentru evolutia temperaturii, umiditatii si nivelului de poluare
  • afisarea ultimelor masuratori salvate

Astfel, utilizatorul poate observa rapid schimbarile din mediul inconjurator.

Observatie

Sistemul functioneaza conectat la laptop prin cablu USB. In aceasta configuratie, laptopul gestioneaza comunicatia cu baza de date si aplicatia web.

6. Bibliografie / Resurse

  • Documentatia oficiala Arduino UNO R4

https://docs.arduino.cc/hardware/uno-r4-wifi/

  • Documentatia senzorului DHT11

https://components101.com/sensors/dht11-temperature-sensor

  • Documentatia senzorului MQ-135

https://components101.com/sensors/mq135-gas-sensor-for-air-quality

  • Documentatia senzorului de praf Sharp GP2Y1014AU0F

https://global.sharp/products/device/lineup/data/pdf/datasheet/gp2y1014au_e.pdf

  • Documentatia modulului RTC DS3231

https://randomnerdtutorials.com/arduino-ds3231-real-time-clock/

  • Biblioteca LiquidCrystal_I2C

https://github.com/johnrickman/LiquidCrystal_I2C

  • Biblioteca DHT pentru Arduino

https://github.com/adafruit/DHT-sensor-library

  • Documentatia oficiala Docker

https://docs.docker.com/

  • Documentatia MongoDB

https://www.mongodb.com/docs/

  • Documentatia Node.js

https://nodejs.org/en/docs

  • Documentatia Express.js

https://expressjs.com/

  • Documentatia Chart.js

https://www.chartjs.org/docs/latest/

  • PlatformIO IDE

https://platformio.org/

  • Documentatia oficiala KiCad

https://docs.kicad.org/

pm/prj2026/theodor_ioan.buliga/maria.salomia.1779810480.txt.gz · Last modified: 2026/05/26 18:48 by maria.salomia
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0