This is an old revision of the document!
Sistemul de interpretare a stării atmosferice (senin, înnorat, ploaie, ninsoare) are ca scop principal monitorizarea vremii în timp real. Acesta reprezintă este un set de tehnologii și instrumente care permit colectarea, analizarea și interpretarea datelor meteorologice pentru a furniza informații despre starea actuală și viitoare a vremi. Sistemul propus utilizează IoT pentru a face datele sale ușor accesibile în timp real.
Sistemul de interpretare a vremii este util pentru ca poate furniza informații utile despre starea actuala si viitoare a vremii, ceea ce poate fi folositor în diverse activități umane.
Proiectul se ocupa de monitorizarea schimbărilor meteorologice si climatica, urmărind, prin intermediul unor senzori, evoluția valorilor temperaturii, a umidității, a presiunii si a intensității luminii. Aceste senzori trimit datele către pagina web, iar datele senzorului sunt reprezentate grafic sub forma de statistici. În centrul sistemului este prezenta plăcută Arduino Uno care comunica cu toate celelalte componente. La ea sunt legati cei 3 senzori, modulul Wifi, cât si display-ul LCD.
Datele încărcate pot fi ușor folosite ca referințe viitoare sau comparate cu intervale obținute din alte surse meteorologice asemănătoare. Sistemul incorporat este o integrare a dispozitivelor senzoriale, comunicare fără fir, care permite utilizatorului sa acceseze de la distanta diferiți parametrii si sa stocheze datele.
Pentru implementarea proiectului, am aplicat notiuni din următoarele laboratoare:
Componentele folosite în cadrul acestui proiect sunt:
Proiectul a fost realizat in ARDUINO IDE, am folosit: * biblioteca Adafruit_BMP085 pentru a lua structura senzorului de presiune si temperatura BMP. * biblioteca Wire pentru a putea comunica prin protocolul I2C. * biblioteca Adafruit_Sensor pentru a avea o interfața comuna pentru senzorii de la Adafruit.
In functia de setup initializez seriala și verific dacă adresa I2C a senzorului BME280 este cea corecta. În caz contrar, se afișează pe seriale un mesaj de eroare.
În funcția de loop apelez cele 3 funcții spefice fiecărui senzor folosit:
rainSensorCheck(): În primul rând am configurat pinul A0 pentru citirea analogica și am setat tensiunea de referință la 5. Ulterior am selectat portul de intrare pe care se va face conversia, urmând sa se înceapă conversia. După ce procesul de conversie s-a terminat, rezultatul obținut este stocat intr-o variabila. În funcție de valoarea acesteia se afișează pe display-ul LCD folosit un mesaj corespunzător (“RAINING”/ “RAIN WARNING”/ “NOT RAINING”); photoresistorCheck(): Am configurat pinul A1 pentru citirea analogica și am folosit funcția “map” pentru a “clasifica” rezultatul obținut în 3 cazuri. În funcție de cazul obținut se afișează pe display un mesaj corespunzător: 0- “It îs dar outsider”, 1 - “It îs slightly bright outside”, 2- “It is dark outside”. BME280check(): Folosind biblioteca specifica pentru modului BME280 menționată mai sus, am obținut valoarea temperaturii, a presiunii, a altitudinii și a umidității, valori pe care le-am afișat pe seriala.
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.