Differences

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

Link to this comparison view

pm:prj2025:apredescu:anca.radu2411 [2025/05/28 11:48]
anca.radu2411 [Descriere generală]
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 =====
  
Line 48: Line 48:
   * 🔋 Alimentare 5V (USB sau power bank) – pentru toate modulel   * 🔋 Alimentare 5V (USB sau power bank) – pentru toate modulel
  
-{{:​pm:​prj2025:​apredescu:​diagarama_ancaradu_new.png?200|}}+{{:​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 61: 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 78: 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**
  
-**Mediu de dezvoltare**+  ​* **Arduino IDE** – pentru programarea microcontrollerului ATmega328P. 
 +  * **Python 3** – pentru prelucrarea datelor primite prin Bluetooth și gestionarea bazelor de date + trimitere email.
  
-''​Arduino IDE''​+----
  
--> Platformă de dezvoltare compatibilă cu Arduino UNO (ATmega328P)+**Librării și surse 3rd-party**
  
 +➤ Pe partea de Arduino:
 +
 +      * 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
 +
 +      Toate aceste librării sunt standard sau pot fi adăugate ușor prin Library Manager în Arduino IDE.
 +
 +➤ 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 
 + 
 +➤ În scriptul Python (PC/​laptop):​ 
 + 
 +Se deschid două baze de date SQLite: 
 + 
 +      ​masuratori.db – pentru salvarea temperaturii ​și umidității 
 +      ​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 citește valoarea analogică de la microfon (prin ''​analogRead(A0)''​). +      ​se loghează evenimentul într-o bază separată 
-  * Valoarea este comparată cu un prag stabilit pentru a decide dacă este considerat zgomot relevant. +      *se trimite automat ​un email de avertizare
-  Dacă valoarea depășește pragul și nu a mai fost deja înregistrat ​un eveniment:​ +
-  * 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). +
-  * Este utilizat un flag logic (''​evenimentInregistra''​t) pentru a preveni logări multiple cât timp semnalul rămâne peste prag.+
  
 ---- ----
  
 **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 ​(exbătăi din palmevocelovituri), atât în funcția de semnalizare vizualăcât și în cea de logare ​pe cardul SD.+''​trimite_email()'':​ 
 + 
 +  * trimite notificare pe mail folosind contul Gmail configurat 
 + 
 +''​while True'':​ 
 + 
 +  * 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 secundesistemul: 
 + 
 +  * salvează evenimentul într-o bază separată (complaints.db);​ 
 +  * trimite automat un email de alertă către recepție (ex. ancutza@gmail.comcrinutza@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 zgomotdatele sunt salvate corect ​pe cardul SD, valorile sunt transmise prin Bluetooth, iar emailurile de alertă se trimit automat conform regulii definite.
  
-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. 
 ===== Download ===== ===== Download =====
  
pm/prj2025/apredescu/anca.radu2411.1748422134.txt.gz · Last modified: 2025/05/28 11:48 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