Differences

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

Link to this comparison view

pm:prj2025:apredescu:anca.radu2411 [2025/05/25 23:17]
anca.radu2411 [Rezultate Obţinute]
pm:prj2025:apredescu:anca.radu2411 [2025/05/28 12:38] (current)
anca.radu2411 [Descriere generală]
Line 1: Line 1:
-====== ​Sistem de monitorizare a nivelului de zgomot dintr-o cameră ​de hotel ======+====== ​Monitor ambiental pentru camere ​de hotel ======
 ===== Introducere ===== ===== Introducere =====
  
-📌 **Ce face proiectul:**+📌 **Ce face proiectul**:
  
- Dispozitivul monitorizează ​nivelul de zgomot ​dintr-o cameră de hotel și aprinde un LED atunci când se depășește un prag sonor prestabilit. În plusînregistrează periodic valorile ​surate pe un card SD pentru a permite personalului hotelului să consulte ulterior istoricul zgomotului.+Dispozitivul monitorizează ​condițiile ambientale ​dintr-o cameră de hotel, măsurând:
  
-🎯 **Scopul ​și ideea de la care am pornit:**+  ​nivelul de zgomot 
 +  ​temperatura ​și umiditatea aerului
  
- Mi-am propus să ajut hotelurile să îmbunătățească confortul clienților,​ oferindu-le o soluție simplă de monitorizare ​și înregistrare a zgomotului, pe care personalul să o poată verifica ușor.+Atunci când sunetul depășește un prag prestabilit:​
  
-🤝 **De ce cred că este util:** +  * se aprinde un LED de avertizare 
-  * Pentru hoteluri, ajută la gestionarea ​reclamațiilor legate de zgomot ​și îmbunătățirea serviciilor+  * se salvează datele (zgomot + climă) pe un card SD 
-  * Pentru ​personalul hotelului, oferă ​o modalitate simplă de verificare a problemelor.+  * dacă se detectează 3 astfel de evenimente în mai puțin de 1 minut, se consideră o plângere și se: 
 +    * salvează într-o bază de date separată 
 +    * trimite automat un email către recepție (sau administrator) 
 + 
 +Toate măsurătorile sunt transmise periodic prin **Bluetooth**,​ pentru a putea fi salvate într-o bază de date și analizate. 
 + 
 +🎯 Scopul și ideea de la care am pornit: 
 + 
 +Mi-am propus să ajut hotelurile să îmbunătățească confortul clienților și monitorizarea automată a comportamentului din camere, printr-un sistem accesibil care: 
 + 
 +  * avertizează discret asupra depășirilor de zgomot 
 +  * colectează date climatice 
 +  * automatizează notificarea personalului 
 + 
 +🤝 **De ce cred că este util**
 + 
 +  * Pentru hoteluri, ajută la gestionarea ​plângerilor,​ păstrarea liniștii ​și prevenirea abuzurilor
 +  * Pentru ​personal, oferă ​acces la date și alerte în timp real fără intervenție manuală. 
 +  * Pentru clienți, contribuie la un mediu mai liniștit și mai controlat.
  
  
Line 19: Line 38:
 **Diagrama Bloc** **Diagrama Bloc**
  
-Dispozitivul ​are următoarele ​module: +Dispozitivul ​este format din următoarele ​componente:
-  * Senzor de zgomot (microfon analogic + comparator) – detectează sunetul și generează un semnal analogic proporțional. +
-  * Microcontroller ATmega328P – citește semnalul analogic prin ADC, îl compară cu un prag și comandă LED-ul și logarea pe card SD. +
-  * LED de semnalizare – indică dacă pragul de zgomot a fost depășit. +
-  * Modul SD Card (SPI) – salvează măsurătorile pentru a păstra un istoric. +
-  * Alimentare 5V – sursă de tensiune pentru toate modulele.+
  
-{{:​pm:​prj2025:​apredescu:​diagarama_ancaradu_new.png?200|}}+  * 🎙️ Modul microfon (analogic LM393) – detectează nivelul de sunet ambiental 
 +  * 🌡️ Senzor DHT22 – măsoară temperatura și umiditatea 
 +  * 💡 LED – se aprinde dacă zgomotul depășește pragul 
 +  * 💾 Modul microSD (SPI) – salvează datele local pentru verificare ulterioară 
 +  * 📶 Modul Bluetooth HC-05 – transmite datele către un laptop 
 +  * 🧠 ATmega328P – citește toți senzorii, decide acțiunile și comunică cu cardul SD și Bluetooth 
 +  * 🔋 Alimentare 5V (USB sau power bank) – pentru toate modulel 
 + 
 +{{:​pm:​prj2025:​apredescu:​diagrama_finala_ancaradu.png?300|}}
  
 **Interacțiuni între module** **Interacțiuni între module**
  
-  ​* Microfonul trimite ​semnalul la ADC-ul ​microcontrollerului. +**Microfonul** (LM393) ​trimite ​un semnal analogic către pinul A0 al microcontrollerului. Acesta este citit prin ADC pentru a detecta dacă sunetul depășește un prag. 
-  * Microcontrollerul decide dacă aprinde LED-ul. + 
-  * Microcontrollerul ​trimite datele ​către cardul SD prin SPI. +**ATmega328P**:​ 
-  * Toate modulele sunt alimentate din aceeași sursă.+ 
 +  * compară valoarea semnalului de la microfon cu un prag prestabilit. 
 +  * aprinde LED-ul ​dacă pragul este depășit. 
 +  * citește temperatura și umiditatea prin protocol digital de la DHT22 (pe pinul D4)
 +  * trimite ​periodic toate datele ​(zgomot, temperatură, umiditate) prin Bluetooth (HC-05). 
 +  * salvează aceleași date pe cardul SD prin interfața ​SPI (pinii D10–D13). 
 + 
 +**DHT22**:​ 
 + 
 +  * măsoară temperatura și umiditatea aerului. 
 +  * trimite datele către ATmega328P o dată la câteva secunde, în format digital. 
 + 
 +**LED-ul**:​ 
 + 
 +  * este aprins de către microcontroller atunci când sunetul este considerat excesiv. 
 + 
 +**Modulul microSD:​** 
 + 
 +  * primește comenzi prin SPI și salvează loguri locale cu valorile măsurate. 
 + 
 +**Modulul Bluetooth HC-05**: 
 + 
 +  * primește date de la microcontroller prin SoftwareSerial (pinii D2 și D3). 
 +  * le transmite în timp real către un laptop, pentru afișare și salvare. 
 + 
 +**Laptopul**:​ 
 + 
 +  * rulează un script Python care citește datele prin Bluetooth (COM4). 
 +  * salvează periodic datele într-o bază de date masuratori.db. 
 +  * dacă detectează 3 depășiri de zgomot într-un minut, salvează în complaints.db și trimite automat un email de alertă. 
 + 
 +**Alimentarea** de 5V (de la power bank) este comună tuturor modulelor ​și oferă energie pentru întreg sistemul.
  
 ===== Hardware Design ===== ===== Hardware Design =====
Line 39: Line 92:
 **Bill of Materials** (Lista Pieselor) **Bill of Materials** (Lista Pieselor)
  
-^ Nr. ^ Componentă ​         ^ Descriere ​                         ^ Link / Datasheet ​                                                  ​^+^Nr.^ Componentă ​                       ^ Descriere ​                         ^ Link / Datasheet ​     ^
 |1 | Microcontroler ATmega328P ​         | Microcontroller 8-bit AVR          | [[https://​ww1.microchip.com/​downloads/​en/​DeviceDoc/​Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf|Datasheet]] [[https://​sigmanortec.ro/​Placa-dezvoltare-UNO-R3-Arduino-Compatibil-ATmega328p-CH340G-cu-bara-pini-p170362384|ATmega328P]]| |1 | Microcontroler ATmega328P ​         | Microcontroller 8-bit AVR          | [[https://​ww1.microchip.com/​downloads/​en/​DeviceDoc/​Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf|Datasheet]] [[https://​sigmanortec.ro/​Placa-dezvoltare-UNO-R3-Arduino-Compatibil-ATmega328p-CH340G-cu-bara-pini-p170362384|ATmega328P]]|
 |2 | Modul microfon LM393 | Senzor zgomot cu comparator LM393  | [[https://​sigmanortec.ro/​modul-microfon-senzor-sunet-5v|Link modul]] | |2 | Modul microfon LM393 | Senzor zgomot cu comparator LM393  | [[https://​sigmanortec.ro/​modul-microfon-senzor-sunet-5v|Link modul]] |
 |3 | Modul microSD SPI   | Stocare loguri ​                     | [[https://​sigmanortec.ro/​Modul-MicroSD-p126079625|Link modul]] | |3 | Modul microSD SPI   | Stocare loguri ​                     | [[https://​sigmanortec.ro/​Modul-MicroSD-p126079625|Link modul]] |
 |4 | Card microSD ​       | Stocare date                        | [[https://​www.emag.ro/​card-de-memorie-microsdhd-kingston-4gb-clasa-4-kng4/​pd/​D0RDW8BBM|Link card]] | |4 | Card microSD ​       | Stocare date                        | [[https://​www.emag.ro/​card-de-memorie-microsdhd-kingston-4gb-clasa-4-kng4/​pd/​D0RDW8BBM|Link card]] |
-|5 | LED Roșu            | Indicator vizual ​                       | -                                                                 | +|5 | Modul DHT22 |Senzor de temperatură și umiditate ​  ​|[[https://​www.optimusdigital.ro/​ro/​senzori-senzori-de-temperatura/​1449-modul-senzor-de-temperatura-i-umiditate-dht22.html?​srsltid=AfmBOorscPInU12C0PSdPw5Bj1q8e705ViOvT9nI2UooQvHv5QegZAJA|Link modul]]| 
-|| Breadboard 400 puncte | Placă de prototipare ​                   | -                                                                 | +|6 | Modul HC-05 Bluetooth|Comunicare wireless cu laptopul|[[https://​www.optimusdigital.ro/​ro/​wireless-bluetooth/​153-modul-bluetooth-master-slave-hc-05-cu-adaptor.html?​srsltid=AfmBOopRGBmQNcCXy9I1-GSPXg-1FPDEyjMe3J3_cIaZu7tilHNvDF8o|Link modul]]| 
-|| Cabluri tată-tată ​  | Conectare componente ​                   | -                                                                 | +|7 | LED Roșu            | Indicator vizual ​                       | -                                                                 | 
-|| Rezistor 220Ω ​      ​| Protejare LED                           | -                                                             |+|| Breadboard 400 puncte | Placă de prototipare ​                   | -                                                                 | 
 +|| Cabluri tată-tată ​  | Conectare componente ​                   | -                                                                 | 
 +|10 | Rezistor 220Ω ​     | Protejare LED                           | -                                                             
 +|11 | Baterie externă 5V | Alimentare portabilă  ​                  | - |
  
 ** Schema Electrică ** ** Schema Electrică **
Line 56: Line 112:
 ** Tabel Legături Componente ** ** Tabel Legături Componente **
  
-^ Componentă ​            ​^ Pin Modul   ​^ Pin ATmega164A ​   ​^ Funcție ​                               + 
-| Modul Microfon LM393  | OUT                       ​PA0 (ADC0) ​       ​| Citire semnal analogic ​                ​+^ Componentă ​                ​^ Pin Modul                ^ Pin ATmega328P ​           ​^ Funcție ​              ​
-                      ​| VCC                        | +5V               ​| Alimentare ​                           +**Modul Microfon LM393**   | OUT                      A0                         | Citire semnal analogic ​(sunet) ​               ​
-                      ​| GND                        | GND               ​| Masă                                  +                           | VCC                      | +5V                        | Alimentare ​                                   
-| LED                   ​| Anod (+)                   ​| D8                | Control LED                           ​+                           | GND                      | GND                        | Masă                                          
-                      ​| Catod (-) prin R 220 Ohm   | GND               ​| Masă prin rezistor ​                   +**LED**                    ​| Anod (+)                 ​| D8                         ​| Control LED zgomot ​                           ​
-| Modul MicroSD ​SPI     ​| CS                         ​D13               Select ​Chip                           ​+                           | Catod (-) prin R 220Ω    ​| GND                        | Masă (cu rezistor ​de protecție) ​              
-                      ​| MOSI                       ​| D11               ​| Date de la ATmega ​către SD            +**Modul microSD (SPI)**    ​| CS                       ​D10                        ​| Chip Select SPI                               
-                      ​| MISO                       ​| D12               ​| Date de la SD către ​ATmega ​           ​+                           | MOSI                     ​| D11                        | Date de la microcontroller ​către SD           ​
-                      ​| SCK                        ​| D10               | Ceas SPI                              +                           | MISO                     ​| D12                        | Date de la SD către ​microcontroller ​          
-                      ​| VCC                        | +5V               ​| Alimentare ​                           +                           | SCK                      | D13                        | Ceas SPI                                      
-                      ​| GND                        | GND               ​| Masă                                  +                           | VCC                      | +5V                        | Alimentare ​                                   
-Alimentare ​           | VCC                        | +5V               | Alimentare pentru toate componentele  ​+                           | GND                      | GND                        | Masă                                          
-                      ​| GND                        | GND               ​| Masă comună ​                          ​|+**Modul DHT22** ​           | DATA                     | D4                         | Citire temperatură și umiditate ​              | 
 +|                            ​| VCC                      | +5V                        | Alimentare ​                                   | 
 +|                            | GND                      | GND                        | Masă                                          | 
 +| **Modul Bluetooth HC-05** ​ | TXD                      | D3 (RX SoftwareSerial) ​    | Date de la modul către microcontroller ​       | 
 +|                            | RXD                      | D2 (TX SoftwareSerial) ​    | Date de la microcontroller către modul        | 
 +|                            | VCC                      ​| +5V                        | Alimentare ​                                   | 
 +|                            | GND                      | GND                        | Masă                                          | 
 +|                            | STATE / EN               | –                          | (neutilizat în proiectul actual) ​             | 
 +| **Alimentare ​5V**          | VCC                      | +5V                        | Alimentare comună ​pentru toate modulele ​      
 +                           | GND                      | GND                        | Masă comună ​                                  ​| 
  
 ** Componentele Hardware conectate ** ** Componentele Hardware conectate **
  
-{{:​pm:​prj2025:​apredescu:​imagine_proiect_ancaradu.jpg?300|}}+{{:​pm:​prj2025:​apredescu:​hardware_ancaradu.jpg?​200|}} 
 +{{:​pm:​prj2025:​apredescu:​design_ancaradu.jpg?300|}}
  
  
 ===== Software Design ===== ===== Software Design =====
  
 +**Mediul de dezvoltare**
 +
 +  * **Arduino IDE** – pentru programarea microcontrollerului ATmega328P.
 +  * **Python 3** – pentru prelucrarea datelor primite prin Bluetooth și gestionarea bazelor de date + trimitere email.
 +
 +----
 +
 +**Librării și surse 3rd-party**
 +
 +➤ Pe partea de Arduino:
  
-**Mediu de dezvoltare**+      ​SPI.h – pentru comunicarea SPI cu modulul SD card 
 +      ​SD.h – pentru logare fișiere text pe card microSD 
 +      ​DHT.h – pentru citirea temperaturii și umidității de la senzorul DHT22 
 +      ​SoftwareSerial.h – pentru comunicarea cu modulul Bluetooth HC-05 pe pini digitali
  
-''​Arduino IDE''​+      Toate aceste librării sunt standard sau pot fi adăugate ușor prin Library Manager în Arduino IDE.
  
--> Platformă ​de dezvoltare compatibilă cu Arduino UNO (ATmega328P)+➤ Pe partea ​de Python:
  
 +      * serial (pyserial) – pentru citirea datelor prin Bluetooth
 +      * sqlite3 – pentru salvarea datelor în fișiere .db locale
 +      * smtplib și email.message – pentru trimiterea automată a emailurilor când se detectează zgomot excesiv
  
 ---- ----
  
 +**Algoritmi și structuri implementate**
  
-**Librării și surse 3rd-party**+➤ În microcontroller (Arduino):
  
-''​SPI.h''​ — pentru comunicare SPI cu modulul SD+Se citesc:
  
-''​SD.h''​ — pentru lucrul cu fișiere pe cardul microSD+      * valoarea analogică a zgomotului (analogRead(A0)) 
 +      * temperatura ​și umiditatea prin DHT22
  
--> Ambele librării sunt standard în Arduino IDE și nu necesită instalare externă.+Dacă sunetul depășește un prag (> 100):
  
-----+      * se aprinde LED-ul 
 +      *se salvează valorile într-un fișier log.txt pe cardul SD
  
-**Algoritmi și structuri implementate**+    La interval de 5 secunde, se trimit prin Bluetooth valorile actuale
  
-  * Se citește valoarea analogică de la microfon (prin ''​analogRead(A0)''​). +➤ În scriptul Python (PC/​laptop):​ 
-  Valoarea este comparată cu un prag stabilit ​pentru ​a decide dacă este considerat zgomot relevant+ 
-  ​* ​Dacă valoarea depășește pragul și nu a mai fost deja înregistrat un eveniment+Se deschid două baze de date SQLite: 
-  * Se aprinde LED-ul (conectat la pinul D8) + 
-  Se salvează un mesaj în fișierul ''​log.txt''​ de pe cardul SD (conținând valoarea și momentul detectării). +      masuratori.db – pentru ​salvarea temperaturii și umidității 
-  Este utilizat ​un flag logic (''​evenimentInregistra''​t) pentru a preveni logări multiple cât timp semnalul rămâne peste prag.+      * complaints.db – pentru evenimentele de tip „noise complaint” 
 + 
 +Se analizează fluxul de date din Bluetooth 
 +Dacă în decurs de 60 secunde se primesc 3 mesaje cu zgomot > prag
 + 
 +      se loghează evenimentul într-o bază separată 
 +      *se trimite automat ​un email de avertizare
  
 ---- ----
  
 **Surse și funcții implementate** **Surse și funcții implementate**
 +
 +➤ Arduino:
  
 ''​setup()'':​ ''​setup()'':​
  
-  * inițializează pinul LED +  * configurează pini I/O 
-  * începe comunicația serială +  * inițializează ​senzorii, Bluetooth-ul și cardul SD
-  * inițializează cardul SD și verifică funcționalitatea+
  
 ''​loop()'':​ ''​loop()'':​
  
-  * monitorizează ​continuu ​semnalul audio +  * citește ​continuu ​datele și trimite periodic valorile prin Bluetooth 
-  * controlează LED-ul ​și decide când să logheze evenimente+  * detectează evenimente de zgomot ​și le salvează pe SD
  
-''​logSunet(int valoare)'':​ +''​logPeCard()'':​
-  * deschide fișierul log.txt pe cardul SD +
-  * scrie un mesaj de forma: ''​Sunet detectat: 248 la 15204''​ +
-  * mesajul include valoarea analogică a sunetului și timpul în milisecunde +
-===== Rezultate Obţinute =====+
  
-În urma implementării proiectului,​ a fost realizat ​un sistem funcțional de monitorizare a nivelului de zgomotbazat pe microcontrollerul ATmega328P. Sistemul:+  * creează/loghează într-un fișier text cu sunettemperatură și umiditate
  
-  * detectează în timp real sunetele cu ajutorul unui modul de microfon analogic; +➤ Python:
-  * aprinde un LED de semnalizare atunci când intensitatea sunetului depășește un prag definit în cod; +
-  * salvează evenimentele de depășire a pragului într-un fișier (log.txt) pe un card microSD; +
-  * fiecare înregistrare include valoarea semnalului și momentul apariției (în milisecunde de la pornirea sistemului).+
    
-Proiectul a fost testat cu succes și a reacționat corect la zgomote ​(ex: bătăi din palme, voce, lovituri), atât în funcția de semnalizare vizuală, cât și în cea de logare pe cardul SD.+''​trimite_email()'':​
  
-Prin intermediul acestui sistem, pot fi monitorizate și înregistrate evenimente sonore într-un mediu interior, cum ar fi o cameră de hotel sau o sală de studiu, oferind o soluție simplă pentru verificarea nivelului de zgomot în absența supravegherii directe. +  * trimite notificare pe mail folosind contul Gmail configurat
-===== Download =====+
  
-<note warning>​ +''​while True''​:
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectuluisurse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).+
  
-</​note>​+  * citește datele primite 
 +  * salvează în baza masuratori.db 
 +  * dacă se depășește pragul sonor de 3 ori în 60 secunde, salvează în complaints.db și trimite email
  
  
 +===== Rezultate Obţinute =====
 +
 +În urma implementării și testării proiectului,​ a fost realizat un sistem complet funcțional de monitorizare ambientală,​ capabil să:
 +
 +  * **Detecteze și semnalizeze zgomotul**:
 +
 +Modulul de microfon analogic detectează nivelul de sunet din încăpere.
 +
 +Când se depășește un prag predefinit, un LED de alertă se aprinde și evenimentul este salvat pe cardul microSD, împreună cu temperatura și umiditatea curente.
 +
 +  * **Salveze date local pe card microSD**:
 +
 +Sistemul înregistrează valorile măsurate în fișierul ''​log.txt''​.
 +
 +Informațiile salvate includ: valoarea semnalului sonor, temperatura,​ umiditatea și momentul detectării (în milisecunde de la pornire).
 +
 +  * **Transmită datele în timp real prin Bluetooth**:​
 +
 +La fiecare 5 secunde, dispozitivul trimite date către un laptop sau alt dispozitiv conectat prin Bluetooth (HC-05).
 +
 +Datele includ nivelul sunetului, temperatura și umiditatea.
 +
 +  * **Proceseze și analizeze datele în Python**:
 +Pe laptop, un script Python preia datele prin Bluetooth și le salvează într-o bază de date locală (masuratori.db).
 +
 +La detectarea a 3 niveluri ridicate de zgomot într-un interval de 60 de secunde, sistemul:
 +
 +  * salvează evenimentul într-o bază separată (complaints.db);​
 +  * trimite automat un email de alertă către recepție (ex. ancutza@gmail.com,​ crinutza@gmail.com),​ notificând depășirile.
 +
 +----
 +
 +==== Validare ====
 +
 +Sistemul a fost testat cu succes în condiții reale.
 +
 +LED-ul se aprinde corect în funcție de zgomot, datele sunt salvate corect pe cardul SD, valorile sunt transmise prin Bluetooth, iar emailurile de alertă se trimit automat conform regulii definite.
 +
 +===== Download =====
 +
 +<​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
Line 175: Line 302:
 ---- ----
  
-<​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ 
  
pm/prj2025/apredescu/anca.radu2411.1748204224.txt.gz · Last modified: 2025/05/25 23:17 by anca.radu2411
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