This is an old revision of the document!


Air Quality Sensor

Nume: Ruse Cristian-Andrei
Grupa: 1222A

Introducere

Air Quality Sensor este un proiect Arduino care îți permite să verifici calitatea aerului, temperatura și umiditatea într-o încăpere.
Proiectul utilizează senzori speciali pentru a măsura aceste valori și le afișează pe un ecran OLED grafic.
Acest proiect poate fi de ajutor pentru a monitoriza și îmbunătăți calitatea aerului într-o varietate de medii, inclusiv în casa, la birou sau la școală.

Descriere generală

Air Quality Sensor funcționează prin utilizarea unor senzori care măsoară calitatea aerului,
Senzorul MQ-135 detectează concentrația de gaze poluante din aer cum ar fi monoxidul de carbon
sau oxizii de azot. Senzorul DHT11 utilizează un termistor și un senzor de
umiditate pentru a măsura temperatura și umiditatea relativă din încăpere.

Aceste date sunt apoi trimise către Arduino Nano R3, care este placa de control principală a proiectului.
Pe baza datelor primite de la senzori, Arduino calculează valorile corespunzătoare ale calității aerului,
temperaturii și umidității. Aceste valori sunt apoi afișate pe ecranul OLED de 128×64 pixeli, pentru a fi
ușor de citit și interpretat.

Hardware Design

- Arduino Nano R3
- 0.96” OLED 128×64 1302 I2C
- Senzor MQ-135
- Senzor DHT11
- Diverse Fire

Software Design

Biblioteci utilizate:
  • <SPI.h>
  • <Wire.h>
  • <Adafruit_GFX.h>
  • <Adafruit_SSD1306.h>
  • <Fonts/FreeSans9pt7b.h>
  • <Fonts/FreeMonoOblique9pt7b.h>
  • <DHT.h>
Funcții implementate:
  • void setup():
    • Configurez pinii
    • Pornesc senzorul dht
    • Verific daca functioneaza ecranul oled, dupa care afisez un ecran de inceput
  • void air_sensor():
    • Citesc nivelul de gaz din mq135
    • Compar nivelul de gaz cu niste valori predefinite pentru a putea cuantifica calitatea aerului
    • Afisez calitatea aerului
    • Citesc umiditatea si temperatura din senzorul dht11
    • Verific ca vaorile primite sa existe
    • Afisez temperatura si umiditatea
  • void loop():
    • Curat ecranul pentru a putea sa afisez noi date
    • Chem functia air_sensor()
    • Afisez noua configuratie a ecranului
    • Folosesc un delay(1000) pentru a implementa o limita la rata de refresh a ecranului deoarece nu am vrut ca informatia de pe ecran sa fie schimbata asa des, astfel am ales ca informatia sa fie schimbata 1 data la 1 secunda.

Rezultate Obţinute

Aparatul în forma finală:


Aparatul în timpul utilizării:


Concluzii

Download

Arhiva contine codul sursa si 2 demo uri ce prezinta functionalitatea proiectului: ruse_cristian_andrei_1222a_proiect_pm.zip

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware. ruse_cristian_andrei_1222a_initial_documentation.pdf

Export to PDF

pm/prj2023/avaduva/air_quality_sensor.1685303791.txt.gz · Last modified: 2023/05/28 22:56 by cristian.ruse2311
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