AirAware

Introducere

Device-ul creat monitorizează in mod regulat calitatea aerului, atenționând utilizatorul daca acesta este suficient de poluat prin sunete produse de un buzzer; in condiții optime se va produce un buzz scurt. Pentru un plus de complexitate cât si satisfacție a utilizatorului, un scor al monitorizării va fi afișat pe un ecran(scor mai mare → aer mai ok), totodata fiind prezente si 3 diode LED(verde, galben si roșu; indicând aproximativ calitatea aerului: excelent, decent, poluat). Sistemul nu va declanșa vreun sunet noaptea, întrucât nu se dorește deranjul utilizatorului in timpul somnului, cu toate acestea, ecranul si diodele LED vor rămâne aprinse.

Scopul proiectului este acela de a face câți mai mulți oameni conștienți ca aerul respirat joaca un rol crucial in starea de spirit si sănătate. Cu cât aerisim încăperea in care locuim zilnic mai des(mai ales când este si cazul), cu atât corpul nostru ne va mulțumi mai mult.

Observand sistemele de siguranță deasupra aragazelor din gospodarii ce măsoară cantitatea de gaz prezenta si in cazul in care sunt depășite anumite limite, întrerupe alimentarea cu gaz, am considerat ca un dispozitiv care sa facă oamenii conștienți de starea aerului din casa este necesar in fiecare casa. De la acest lucru am ajuns la a-mi dori sa realizez eu însumi un astfel de device.

Avantajele prezentate mai sus ale unui aer curat(stare de spirit mai buna, corp mai sănătos) cât si cele ale unui device ce atenționează si informează cu privire la atmosfera(constientizarea oamenilor ca încăperea in care-și petrec timpul poate sa nu fie chiar atât de aerisita) aduc o utilitate sporita acestui device, putând ajuta milioane de oameni sa respire un aer mai curat.

Aparatul masoara doar prezenta compusilor volatili, prezenta lor fiind daunatoare in aer, indicand o calitate scazuta a aerului. Cu toate acestea, aparatul nu masoara si alti parametri cum ar fi particulele PM10 sau PM2.5.

Descriere generală

Pentru posibilitatea de a crea fizic gadget-ul, modulele următoare sunt necesare: Arduino UNO R3, 3 diode LED(verde, galben, roșu), ecran LED conectat prin IIC, fotorezistenta, senzor aer MQ135, buzzer; toate cele menționate după microcontroller vor fi atașate la acesta, după cum se poate observa in schema bloc de mai jos.

Placuta Arduino va verifica la momente regulate de timp, folosind un timer ce generează o întrerupere, datele primite de la senzorul MQ135 si le va interpreta, afișându-le pe ecranul conectat prin IIC, urmând sa fie aprins unul dintre cele 3 LED-uri. Se va folosi pe urma de fotorezistenta pentru a verifica daca este zi afara, in caz afirmativ, buzzer-ul va fi pornit de microcontroller, mai tare sau mai încet, in funcție de calitatea aerului. De asemenea, pentru a nu crea un deranj mare, după ce buzzer-ul va produce un zgomot mai puternic, semnalând un aer poluat, sunetul va fi mai încet o perioada de timp pentru a da utilizatorului răgaz sa aerisească încăperea.

Hardware Design

Lista piese:

  • Arduino UNO R3
  • 3 diode LED
    • Verde
    • Galben
    • Rosu
  • Ecran LED IIC
  • Fotorezistenta
  • Senzor aer MQ135
  • Buzzer
  • Breadboard

Schema electrica, alaturi de realizarea efectiva a proiectului(partea hardware):


Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
  • librării şi surse 3rd-party (e.g. Procyon AVRlib)
  • algoritmi şi structuri pe care plănuiţi să le implementaţi
  • (etapa 3) surse şi funcţii implementate

ARDUINO IDE a fost mediul de dezvoltare ales datorita simplitatii si usurintei in utilizare.

Librarii externe:

  • LiquidCrystal_I2C.h
  • TimerOne.h
  • Wire.h

TimerOne.h a ajutat in generarea unei intreruperi la fiecare 5 secunde, in timp ce datorita librariei LiquidCrystal_I2C.h a fost posibila afisarea pe ecran a unui scor al aerului impreuna cu evaluarea acestuia(GOOD, MEDIUM sau BAD).
Elementul de noutate este adus de oprirea sunetului de verificare pe timp de noapte, afisarea unui scor orientativ cat si informarea utilizatorului prin 3 LED-uri distincte.
Au fost utilizate urmatoarele functionalitati invatate in cadrul laboratoarelor:

  • GPIO - pornire si oprire LED-uri(laboratorul 0)
  • Intreruperi - “notificarea” microcontroller-ului pentru a verifica aerul(laboratorul 2)
  • Timer - folosit pentru intrerupere(laboratorul 3)
  • PWM - folosit pentru a seta intensitatea la care este pornit buzzer-ul(laboratorul 3)
  • ADC - convertirea digitala a valorii intoarse de senzorul MQ135(laboratorul 4)
  • I2C - afisarea scorului si a evaluarii aerului pe ecranul LCD(laboratorul 6)

Functia setup() initializeaza ecranul LCD si activeaza iluminarea de fundal, seteaza modurile pinurilor LED si buzzer la OUTPUT si initializeaza timer-ul de intrerupere la 5 secunde. Functia loop afiseaza mesajul “Scor Aer:”, iar mai apoi daca prin intrerupere o variabila a fost setata pe 1, masoara calitatea aerului(mai exact prezenta compusilor volatili), actualizand LED-urile si ecranul LCD in functie de aceasta valoare, totodata, controleaza buzzer-ul in functie de intensitatea luminii si de aceasta “calitate” a aerului, dupa care variabila setata de intrerupere este reinitializata cu 0. Functia interruptForChecking() este apelata automat la fiecare 5 secunde si singurul ei scop este sa seteze o variabila cu 1, pentru a indica faptul ca trebuie verificata valoarea intoarsa de senzorul MQ135. Modul de validare a fost unul experimental, eliberand gaz dintr-o bricheta in apropierea senzorului.

Esantionarea si stabilirea pragurilor valorice pentru senzorul MQ135 a fost realizata experimental, introducand senzorul intr-o cutie cu volumul de 1080 cm^3 si eliberand timp de un numar predefinit de secunde gaz din bricheta, am considerat ca bricheta elibereaza aproximativ 1 ml de gaz la fiecare secunda. Mai departe a fost realizat un grafic si in urma analizei acestuia s-au stabilit pragurile prezente in cod, acesta fiind urmatorul:

Optimizarea adusa in cadrului codului este durata scurta pentru executarea functiei de intrerupere(o linie de cod) astfel nu se va sta foarte mult timp in aceasta(lucru specificat ca ar fi indicat si in cadrul cursului).

Rezultate Obţinute

Exista 2 videoclipuri demonstrative ce arată cum se comporta proiectul la următorul link de Google Drive:

https://drive.google.com/drive/folders/1mLOM9-juYYewQSbEZdllMLpr364nwIgw?usp=sharing

Download

Arhiva zip ce contine codul sursa impreuna cu librariile externe folosite: airaware_final.zip

Jurnal

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

Bibliografie/Resurse

pm/prj2024/sseverin/sebastian.ilinca.txt · Last modified: 2024/05/25 11:23 by sebastian.ilinca
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