Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2023:dene:sistemmonitorizarecasa [2023/05/24 20:58]
bogdan.baicu [Software Design]
pm:prj2023:dene:sistemmonitorizarecasa [2023/05/25 20:01] (current)
bogdan.baicu [Download]
Line 1: Line 1:
 ====== Sistem de monitorizare pentru casa ====== ====== Sistem de monitorizare pentru casa ======
 +Baicu Bogdan Alexandru\\ 
 +333CC
 ===== Introducere ===== ===== Introducere =====
  
Line 26: Line 27:
 ===== Software Design ===== ===== Software Design =====
  
- +Pentru scrierea sofltware-ului am folosit Arduino IDE. Am uitilizat bibliotecile DHT.h (pentru senzorul de umiditate si temperatura),​ LiquidCrystal_I2C.h (pentru modului I2C si LCD) si SoftwareSerial.h (pentru modulul SIM800L).\\ 
-<note tip> +In functia setup() realizez setarea baud rate-ului, atat pentru comunicarea cu PC-ul (nu este necesara pentru functionarea proiectului) si cu modulul SIM800L, initializez afisajul LCD, senzorul DHT11 si fac primele masuratori cu ajutorul senzorilor.\\ 
-Descrierea codului aplicaţiei (firmware):​ +Functia loop() apeleaza functiile definite de catre mine, functii ce au scopul principal de a modulariza codul. Am setat senzorii sa faca masuratori la intervale de timp diferite: 15 min pentru DHT11 (temperatura si umiditatea nu consider ca este nevoie sa fie masurate mai des, considerand ca nu se produc schimbari prea mari de temperatura intr-un interval de timp mai mic), 1 minut pentru senzorul de gaz, respectiv 5 pentru cel de masurare al nivelului apei.\\ 
-  * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) +Pentru ca senzorii sa anunte detectarea unui nivel ridicat de gaze/nivel al apei am considerat ca este necesar ca senzorul sa transmita date peste un prag setat (jumatate din intervalul in care poate masura) la doua masuratori consecutive,​ fiind destul de sensibili, iar masurarea unei valori peste limita admisa poate fi cauzata si de catre factori care sa nu anunte un pericol real. Odata detectat un pericol, buzzer-ul incepe sa emita un sunet intermitent,​ iar pe display, in locul umiditatii, este afisat un mesaj care sa anunte utilizatorul ca a fost detectat un nivel ridicat de gaz/al apei. In caz ca ambii senzori trec de pragul limita, LCD-ul afiseaza alternativ mesajele de avertizare. Atat avertizarea sonora, cat si mesajul de pe display vor persista atat timp cat 2 masuratori consecutive nu sunt sub prag sat pana cand utilizatorul nu dezactiveaza senzorul care a detectat pericolul. Informarea prin SMS se realizeaza o singura data dupa detectearea unui pericol, utilizatorul fiind informat de mai multe ori doar in cazurile: 
-  * librării şi surse 3rd-party (e.g. Procyon AVRlib) +  - ambii senzori detecteaza simultan pericolul, iar ulterior mai detecteaza doar unul 
-  * algoritmi şi structuri pe care plănuiţi să le implementaţi +  - un senzor detecteaza pericol, iar ulterior detecteaza si al doilea 
-  * (etapa 3) surse şi funcţii implementate +Senzorii de gaz si de apa pot si dezactivati individual, un led marcand inactivitatea acestora. Odata dezactivati,​ in caz ca acestia detectaera pericol, avertizarea sonora si vizuala este dezactivata.
-</​note>​ +
-Pentru scrierea sofltware-ului am folosit Arduino IDE. Am uitilizat bibliotecile DHT.h (pentru senzorul de umiditate si temperatura),​ LiquidCrystal_I2C.h (pentru modului I2C si LCD) si SoftwareSerial.h (pentru modulul SIM800L). +
-In functia setup() realizez setarea baud rate-ului, atat pentru comunicarea cu PC-ul (nu este necesara pentru functionarea proiectului) si cu modulul SIM800L, initializez afisajul LCD, senzorul DHT11 si fac primele masuratori cu ajutorul senzorilor. +
-Functia loop() apeleaza functiile definite de catre mine, functii ce au scopul principal de a modulariza codul. Am setat senzorii sa faca masuratori la intervale de timp diferite: 15 min pentru DHT11 (temperatura si umiditatea nu consider ca este nevoie sa fie masurate mai des, considerand ca nu se produc schimbari prea mari de temperatura intr-un interval de timp mai mic), +
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
-<note tip> +Schema fizica obtinuta in urma implementarii ​proiectului:\\
-Care au fost rezultatele obţinute în urma realizării ​proiectului ​vostru. +
-</​note>​+
 {{:​pm:​prj2023:​dene:​proiect_bb.jpg?​750|}} {{:​pm:​prj2023:​dene:​proiect_bb.jpg?​750|}}
  
  
 ===== Concluzii ===== ===== Concluzii =====
 +A fost un proiect interesant, mi-a facut placere sa il implementez si consider ca il voi folosi (macar uneori) in viitor. Cea mai mare dificultate a fost reprezentata de calibrarea senzorilor de gaz si de nivel al apei, deoarece o crestere foarte mare intre doua masuratori consecutive crea spike-uri sau iar o scadere brusca se manifesta prin rimiterea unor date mai mari decat in realitate.
 ===== Download ===== ===== Download =====
  
-<note warning>​ +{{:pm:prj2023:cc:baicu_bogdan:baicu_bogdan.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**. +
-</​note>​ +
 ===== Jurnal ===== ===== Jurnal =====
  
pm/prj2023/dene/sistemmonitorizarecasa.1684951136.txt.gz · Last modified: 2023/05/24 20:58 by bogdan.baicu
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