Differences

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

Link to this comparison view

pm:prj2023:dene:sistemmonitorizarecasa [2023/05/04 12:42]
bogdan.baicu created
pm:prj2023:dene:sistemmonitorizarecasa [2023/05/25 20:01] (current)
bogdan.baicu [Download]
Line 1: Line 1:
-====== ​Nume proiect ​======+====== ​Sistem de monitorizare pentru casa ====== 
 +Baicu Bogdan Alexandru\\ 
 +333CC
 ===== Introducere ===== ===== Introducere =====
  
 <note tip> <note tip>
-Prezentarea pe scurt proiectului vostru: +Proiectul ales consta in construirea unui sistem de monitorizare ​catorva parametri pentru ca utilizatorul sa stie daca locuinta sa este in siguranta. Astfel, dispozitivul masoara nivelurile de gaze si de apa, iar in caz ca datele obtinute pot reprezenta un pericol, informeaza prin intermediul unui display LCD, al unui buzzer si prin SMS proprietarul. Utilizatorul poate dezactiva aceste functii daca doreste (de exemplu, in caz ca stie ca in scurt timp vor fi detectate niveluri ridicate de gaze sau apa). In timpul in care pe display nu sunt afisate mesaje care sa informeze despre pericolele detectate, sunt prezente mesuratori ale temperaturii si nivelului de umiditate.\\ 
-  * ce face +Ideea de a crea un astfel de proiect ​a fost necesitatea ​de a crea un astfel ​de sistem de monitorizare pentru a fi mereu sigur ca in timp ce sunt plecat, acasa nu se intampla nimic ce poate pune in pericol integritatea mea, a locuintei si a celorlalti. Astfel, cred ca proiectul poate fi util pentru ​oricine.
-  * care este scopul lui +
-  * care a fost ideea de la care aţi pornit +
-  * de ce credeţi că este util pentru ​alţii şi pentru voi+
 </​note>​ </​note>​
 ===== Descriere generală ===== ===== Descriere generală =====
- +{{:pm:prj2023:​dene:​bb_diagrama_pm.png|}}
-<note tip> +
-O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează. +
- +
-Exemplu de schemă blochttp://​www.robs-projects.com/​mp3proj/​newplayer.html +
-</​note>​ +
 ===== Hardware Design ===== ===== Hardware Design =====
  
 <note tip> <note tip>
-Aici puneţi tot ce ţine de hardware design+Lista piese
-  * listă de piese +  * Arduino 
-  * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://​www.captain.at/​electronic-atmega16-mmc-schematic.png) +  * Modul MQ-2 
-  * diagrame de semnal ​ +  * Senzor nivel apa  
-  * rezultatele simulării+  * Senzor DHT11 
 +  * LCD 1602 
 +  * Modul I2C 
 +  * Sim800L V2 
 +  * Buzzer pasiv 
 +  * 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 65: 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.1683193377.txt.gz · Last modified: 2023/05/04 12:42 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