Table of Contents

TemperaturePolutionStation

Introducere

Vreau sa construiesc o statie care sa monitorizeze temperatura, umiditatea si poluarea aerului, cantitatea de CO2 din aer si sa transmita datele prin intermediul Arduino UNO pe un LCD SPI si mai apoi prin intermediul unui ESP8266 sa transmit cu Blynk datele si pe telefon pentru a le putea accesa de oriunde. Mai departe prin intermediul unui IR transmitter ansamblul va activa aerul conditionat din camera daca temperatura, umiditatea si cantitatea de CO2 din aer trec de un anumit prag.

Descriere generală

Placa Arduino scaneaza in continuu la un interval de timp stabilit valorile de la cei doi senzori, ii preia si ii afiseaza pe ecranul LCD iar mai apoi ii transmite prin intermediul interfetei seriale pe ESP8266 care va transmite mai departe cu ajutorul Wifi si Blynk informatile pe telefonul mobil. Daca Arduino vede ca valorile de temperatura, umiditate si CO2 trec peste un anumit prag va da comanda la IR Transmitter sa porneasca aerul conditionat al camerei.

Hardware Design

Schema Electrica

Software - Diagrama de activitati (Organigrama)

Codul programului este unul destul de simplist, in setup initializez senzorii, led-urile si lcd-ul iar in loop verific valorile transmise de catre senzori, daca senzorul de temperatura imi spune ca s-au depasit 30 grade Celsius in camera va da drumul la aerul conditionat si va afisa un mesaj sugestiv pe LCD, daca temperatura a scazut sub 30 de grade si aerul este pornit IR transmitter-ul va opri aerul conditionat si va afisa AIR OFF pe LCD.

In cazul senzorului de gaz, daca valorile citite depasesc niste valori normale (0.10 am zis eu) acesta va afisa pe LCD mesajul “FIRE!!!” iar pana ce valorile nu scad programul nu trece mai departe, considerand o situatie de urgenta pe care utilizatorul trebuie sa o remedieze cat de rapid posibil, aceasta stare cicland intr-un while.

Daca IR receiver-ul primeste un semnal de la telecomanda va schimba afisajul de pe ecran, de la senzorul de temperatura la senzorul de gaz, aceeasi functie avand-o si butonul de pe breadboard.

Codul proiectului se poate gasi in urmatorul link de github https://github.com/DRS18/PM_Project

Hardware

Din punct de vedere Hardware am folosit breadboard-ul pentru conectarea tuturor componentelor, nu am vrut sa le lipesc pentru a folosi piesele usor si in alte proiecte viitoare.

Concluzii

Un mic video de demonstratie al proiectului se poate gasi la urmatorul link: https://youtu.be/djtyHe0kalI

Consider ca proiectul a fost unul foarte antrenant si interesant din punctul meu de vedere pentru a face ceva palpabil si chiar util pentru viata de zi cu zi.

Am intampinat anumite probleme cu privire la comunicatia intre arduino si ESP, am folosit o biblioteca numita SoftwareSerial.h si ArduinoJson.h cu ajutorul carora am reusit sa comunic pe seriala cu ESP-ul, am reusit sa transmit date despre temperatura si umiditate catre ESP dupa cum se poate vedea alaturi, doar ca in momentul in care doar declaram ecranul meu LCD in cod sau senzorul de gaz programul se oprea, nu mai trimitea nimic pe seriala catre ESP, problema careia nu am reusit sa ii gasesc o rezolvare.

In concluzie, desi am pierdut foarte mult timp din cauza problemei de mai sus careia nu i-am gasit rezolvare, mi-a facut placere sa lucrez la acest proiect si il consider foarte util.

Export to PDF