Differences

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

Link to this comparison view

pm:prj2023:dene:sistemmonitorizarecasa [2023/05/15 17:48]
bogdan.baicu [Sistem de monitorizare pentru casa]
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 23: Line 24:
   * Breadboard, fire, rezistente, LED-uri   * Breadboard, fire, rezistente, LED-uri
 </​note>​ </​note>​
 +{{:​pm:​prj2023:​dene:​schema_electrica_bb.jpg?​750|}}
 ===== 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).\\
 +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), 1 minut pentru senzorul de gaz, respectiv 5 pentru cel de masurare al nivelului apei.\\
 +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:
 +  - ambii senzori detecteaza simultan pericolul, iar ulterior mai detecteaza doar unul
 +  - un senzor detecteaza pericol, iar ulterior detecteaza si al doilea
 +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.
 +===== Rezultate Obţinute =====
  
-<note tip> +Schema fizica obtinuta in urma implementarii proiectului:​\\ 
-Descrierea codului aplicaţiei (firmware): +{{:pm:​prj2023:​dene:​proiect_bb.jpg?750|}}
-  * 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 +
-</​note>​+
  
-===== Rezultate Obţinute ===== 
- 
-<note tip> 
-Care au fost rezultatele obţinute în urma realizării proiectului vostru. 
-</​note>​ 
  
 ===== 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 =====
  
Line 62: Line 56:
 Listă cu documente, datasheet-uri,​ resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. Listă cu documente, datasheet-uri,​ resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**.
 </​note>​ </​note>​
 +Biblioteci utilizate:
 +  * [[https://​github.com/​adafruit/​DHT-sensor-library]] (disponibila si in Arduino IDE)
 +  * [[https://​github.com/​adafruit/​Adafruit_Sensor]] (disponibila si in Arduino IDE)
 +  * [[https://​www.arduinolibraries.info/​libraries/​liquid-crystal-i2-c]] (disponibila si in Arduino IDE)
 +
 +  * [[https://​lastminuteengineers.com/​i2c-lcd-arduino-tutorial/​]]
 +  * [[https://​www.instructables.com/​SMS-Controller-by-Using-SIM800L-V2/​]]
 +  * [[https://​www.circuitbasics.com/​how-to-set-up-the-dht11-humidity-sensor-on-an-arduino/​]]
  
 <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
  
pm/prj2023/dene/sistemmonitorizarecasa.1684162100.txt.gz · Last modified: 2023/05/15 17:48 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