Differences

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

Link to this comparison view

pm:prj2025:avaduva:luiza.turcitu [2025/05/25 23:22]
luiza.turcitu [Descriere generală]
pm:prj2025:avaduva:luiza.turcitu [2025/05/28 12:13] (current)
luiza.turcitu [Integrarea funcționalităților din laborator în cadrul proiectului]
Line 16: Line 16:
  
 Proiectul consta in realizarea unui sistem inteligent de puls care: Proiectul consta in realizarea unui sistem inteligent de puls care:
-  * masoara pulsul utilizatorului la intervale regulate (secunde)+  * masoara pulsul utilizatorului la intervale regulate (secunde)
   * semnaleaza vizual daca valoarea este in limite normale sau nu (prin intermediul unor LED-uri, daca valoarea este in limite normale, se aprinde LED-ul verde, iar daca valoarea nu este in limite normale, se aprinde LED-ul rosu)   * semnaleaza vizual daca valoarea este in limite normale sau nu (prin intermediul unor LED-uri, daca valoarea este in limite normale, se aprinde LED-ul verde, iar daca valoarea nu este in limite normale, se aprinde LED-ul rosu)
   * afiseaza in timp real valoarea pulsului pe un LCD Display   * afiseaza in timp real valoarea pulsului pe un LCD Display
Line 42: Line 42:
 | 7 | LED roșu | - | Se aprinde dacă pulsul este prea mare | Semnalizare vizuală | https://​hobbymarket.ro/​platforme-dezvoltare/​kit-arduino-starter-uno-r3-p-604.html | | 7 | LED roșu | - | Se aprinde dacă pulsul este prea mare | Semnalizare vizuală | https://​hobbymarket.ro/​platforme-dezvoltare/​kit-arduino-starter-uno-r3-p-604.html |
 | 8 | Rezistențe 220 Ω | - | Limitează curentul prin LED-uri | Protecție LED-uri | https://​hobbymarket.ro/​platforme-dezvoltare/​kit-arduino-starter-uno-r3-p-604.html | | 8 | Rezistențe 220 Ω | - | Limitează curentul prin LED-uri | Protecție LED-uri | https://​hobbymarket.ro/​platforme-dezvoltare/​kit-arduino-starter-uno-r3-p-604.html |
-| 9 | Buzzer | - | Emite sunet de avertizare la puls periculos| Alarmă sonoră | https://​hobbymarket.ro/​platforme-dezvoltare/​kit-arduino-starter-uno-r3-p-604.html | +| 9 | Breadboard + fire | — | Permite conexiuni rapide între componente | Conectare / Prototipare | https://​hobbymarket.ro/​platforme-dezvoltare/​kit-arduino-starter-uno-r3-p-604.html | 
-| 10 | Breadboard + fire | — | Permite conexiuni rapide între componente | Conectare / Prototipare | https://​hobbymarket.ro/​platforme-dezvoltare/​kit-arduino-starter-uno-r3-p-604.html | +10 | Sursă alimentare USB | - | Oferă alimentare pentru întregul sistem | Alimentare | https://​hobbymarket.ro/​platforme-dezvoltare/​kit-arduino-starter-uno-r3-p-604.html |
-11 | Sursă alimentare USB | - | Oferă alimentare pentru întregul sistem | Alimentare | https://​hobbymarket.ro/​platforme-dezvoltare/​kit-arduino-starter-uno-r3-p-604.html |+
 ===== Conexiuni si pini ===== ===== Conexiuni si pini =====
  
  
-• **Pulse Sensor HW-487** – măsoară ritmul cardiac al utilizatorului:​+• **Pulse Sensor HW-827** – măsoară ritmul cardiac al utilizatorului:​
   * Signal → A1   * Signal → A1
  
Line 79: Line 78:
   * Catod → GND   * Catod → GND
   Justificare:​ LED-ul roșu oferă o avertizare vizuală pentru ritm cardiac anormal, fiind controlat de Arduino prin pinul digital 6.   Justificare:​ LED-ul roșu oferă o avertizare vizuală pentru ritm cardiac anormal, fiind controlat de Arduino prin pinul digital 6.
- 
-• **Buzzer activ** – emite semnal sonor când pulsul este periculos: 
-  * VCC → pin 3 
- 
-  * GND → GND 
-  Justificare:​ Buzzerul este acționat printr-un semnal HIGH de la pinul digital 3 al Arduino-ului,​ semnalizând starea critică sonor. 
  
 • **Modul cititor microSD (SPI)** – salvează datele despre puls: • **Modul cititor microSD (SPI)** – salvează datele despre puls:
Line 102: Line 95:
 ===== Stadiul actual al implementării hardware ===== ===== Stadiul actual al implementării hardware =====
  
-Structura hardware a proiectului prezentat în imagini este centrată pe măsurarea și afișarea ritmului cardiac, fiind împărțită într-un modul principal care integrează funcții de monitorizare și alertare. Sistemul este construit pe platforma Arduino UNO, care coordonează toate componentele conectate: un senzor de puls (probabil un senzor ​optic de tip IR), un afișaj LCD 16x2 cu interfață I2C pentru afișarea valorilor BPM (bătăi pe minut), un LED roșu și unul verde pentru semnalizarea stării pulsului, precum și un buzzer pentru alerte sonore în caz de puls anormal.+Structura hardware a proiectului prezentat în imagini este centrată pe măsurarea și afișarea ritmului cardiac, fiind împărțită într-un modul principal care integrează funcții de monitorizare și alertare. Sistemul este construit pe platforma Arduino UNO, care coordonează toate componentele conectate: un senzor de puls (senzor ​HW-827), un afișaj LCD 16x2 cu interfață I2C pentru afișarea valorilor BPM (bătăi pe minut), un LED roșu și unul verde pentru semnalizarea stării pulsului.
  
-Circuitul este realizat pe o breadboard, cu fire de legătură ce conectează senzorul, ecranulLED-urile ​și buzzerul ​la pinii digitali și analogici ai plăcii Arduino. Pe ecran este afișat pulsul măsurat, iar dacă acesta este în afara intervalului normal, apare mesajul „Pulse out range”, moment în care LED-ul roșu se aprinde ​și buzzerul emite un semnal. În cazul unui puls normal, se aprinde LED-ul verde. Montajul este funcțional și a fost testat cu succes, așa cum se poate observa din valorile afișate pe ecran.+Circuitul este realizat pe o breadboard, cu fire de legătură ce conectează senzorul, ecranul ​și LED-urile la pinii digitali și analogici ai plăcii Arduino. Pe ecran este afișat pulsul măsurat, iar dacă acesta este în afara intervalului normal, apare mesajul „Puls anormal”, moment în care LED-ul roșu se aprinde.. În cazul unui puls normal, se aprinde LED-ul verde. Montajul este funcțional și a fost testat cu succes, așa cum se poate observa din valorile afișate pe ecran.
  
 ^  Montaj complet ​ ^  Demonstrarea funcționalității ​ ^  Demonstrarea funcționalității ​ ^ ^  Montaj complet ​ ^  Demonstrarea funcționalității ​ ^  Demonstrarea funcționalității ​ ^
Line 132: Line 125:
   *  Detectarea bătăilor inimii și calcularea **BPM** (bătăi pe minut);   *  Detectarea bătăilor inimii și calcularea **BPM** (bătăi pe minut);
  
-  *  Afișarea bătăilor pe minut (BPM) pe un **LCD I2C** și semnalizarea vizuală și sonoră;+  *  Afișarea bătăilor pe minut (BPM) pe un **LCD I2C** și semnalizarea vizuală;
  
   *  Salvarea valorii BPM pe un **card SD**;   *  Salvarea valorii BPM pe un **card SD**;
Line 164: Line 157:
  
 ^  Laborator ​ ^  Funcționalitate ​ ^  Utilizare în proiect ​ ^ ^  Laborator ​ ^  Funcționalitate ​ ^  Utilizare în proiect ​ ^
-|  **GPIO (General Purpose I/​O)** ​ | Controlul LED-urilor, buzzerului, citirea senzorului ​digital sau analogic | LED-urile (roșu și verde) sunt controlate pentru semnalizare vizuală; buzzerul pentru semnal acustic; senzorul de puls este citit pe pin analogic A1 |+|  **GPIO (General Purpose I/​O)** ​ | Controlul LED-urilor, citirea senzorului analogic | LED-urile (roșu și verde) sunt controlate pentru semnalizare vizuală; senzorul de puls este citit pe pin analogic A1 |
 |  **UART (Serial Communication)** ​ | Comunicare serială între PC și Arduino | Trimiterea valorilor BPM și a mesajelor de stare către monitorul serial prin Serial.print() | |  **UART (Serial Communication)** ​ | Comunicare serială între PC și Arduino | Trimiterea valorilor BPM și a mesajelor de stare către monitorul serial prin Serial.print() |
-|  **PWM (Pulse Width Modulation)** ​ | Generare semnal modulat în impulsuri | Utilizat ​de funcțiile tone() și noTone() ​pentru ​a genera semnal sonor pe buzzer ​|+|  **PWM (Pulse Width Modulation)** ​ | Generare semnal modulat în impulsuri | Utilizat pentru ​citirea semnalului trimis catre senzor ​|
 |  **ADC (Analog to Digital Convertor)** ​ | Conversie analog-digital (citirea tensiunii analogice și transformarea în valoare digitală) | Citirea valorii de la senzorul de puls prin analogRead(PULSE_PIN) | |  **ADC (Analog to Digital Convertor)** ​ | Conversie analog-digital (citirea tensiunii analogice și transformarea în valoare digitală) | Citirea valorii de la senzorul de puls prin analogRead(PULSE_PIN) |
 |  **SPI (Serial Peripheral Interface)** ​ | Comunicație serială rapidă între microcontroler și periferice (ex. card SD, senzori) | Utilizat de biblioteca SD.h pentru scrierea datelor pe cardul microSD | |  **SPI (Serial Peripheral Interface)** ​ | Comunicație serială rapidă între microcontroler și periferice (ex. card SD, senzori) | Utilizat de biblioteca SD.h pentru scrierea datelor pe cardul microSD |
Line 180: Line 173:
 |  **Filtrarea semnalului** ​ | Aplicarea unui filtru mediu mobil pentru reducerea zgomotului din datele brute | |  **Filtrarea semnalului** ​ | Aplicarea unui filtru mediu mobil pentru reducerea zgomotului din datele brute |
 |  **Calcul BPM**  | Calcularea frecvenței cardiace în BPM, cu mediere pe 5 valori pentru stabilitate | |  **Calcul BPM**  | Calcularea frecvenței cardiace în BPM, cu mediere pe 5 valori pentru stabilitate |
-|  **Semnalizare vizuală și acustică**  | Afișarea pe LCD I2Caprinderea LED-urilor (verde/​roșu) ​și emiterea unui semnal sonor prin buzzer ​în funcție de intervalul BPM |+|  **Semnalizare vizuală** ​ | Afișarea pe LCD I2C și aprinderea LED-urilor (verde/​roșu) în funcție de intervalul BPM |
 |  **Scriere pe card SD**  | Logarea valorilor BPM în fișierul puls.txt pe cardul SD, folosind protocolul SPI | |  **Scriere pe card SD**  | Logarea valorilor BPM în fișierul puls.txt pe cardul SD, folosind protocolul SPI |
 |  **Gestionare stare de standby** ​ | Detectarea absenței pulsului și revenirea la ecranul de “Aștept puls…” după 3 secunde de inactivitate | |  **Gestionare stare de standby** ​ | Detectarea absenței pulsului și revenirea la ecranul de “Aștept puls…” după 3 secunde de inactivitate |
Line 193: Line 186:
 |  **Calculul BPM**  | Calculează intervalul între bătăi și derivează BPM-ul mediu (dintr-un buffer de 5 valori) | Trimite BPM-ul către afișare și logare | |  **Calculul BPM**  | Calculează intervalul între bătăi și derivează BPM-ul mediu (dintr-un buffer de 5 valori) | Trimite BPM-ul către afișare și logare |
 |  **Afișarea pe LCD**  | Afișează valorile BPM sau mesajul “Aștept puls…” pe ecranul LCD I2C | Primește date de la calcul BPM și gestiunea standby | |  **Afișarea pe LCD**  | Afișează valorile BPM sau mesajul “Aștept puls…” pe ecranul LCD I2C | Primește date de la calcul BPM și gestiunea standby |
-|  **Semnalizare LED + buzzer**  | LED-urile indică dacă pulsul este normal sau anormal, buzzerul semnalizează auditiv ​| Se activează după afișarea BPM-ului, în funcție de interval |+|  **Semnalizare LED**  | LED-urile indică dacă pulsul este normal sau anormal | Se activează după afișarea BPM-ului, în funcție de interval |
 |  **Logare pe SD**  | Salvează valoarea BPM într-un fișier **.txt** de pe card SD | Primește BPM calculat și îl scrie în fișier | |  **Logare pe SD**  | Salvează valoarea BPM într-un fișier **.txt** de pe card SD | Primește BPM calculat și îl scrie în fișier |
-|  **Mod standby (inactivitate)** ​ | Dacă nu e detectată nicio bătaie în 3 secunde, se revine la starea “Aștept puls…” | Se activează automat din loop() și oprește LED-urile, buzzerul ​și afișajul activ |+|  **Mod standby (inactivitate)** ​ | Dacă nu e detectată nicio bătaie în 3 secunde, se revine la starea “Aștept puls…” | Se activează automat din loop() și oprește LED-urile și afișajul activ |
  
  
Line 214: Line 207:
        ​* ​ afișare LCD        ​* ​ afișare LCD
  
-       ​* ​ semnalizare LED + buzzer+       ​* ​ semnalizare LED
  
        ​* ​ scriere pe SD        ​* ​ scriere pe SD
Line 240: Line 233:
     * **Metodă de testare:​** ​ S-au simulat diverse intervale de BPM (sub 60, între 60–100, peste 100).     * **Metodă de testare:​** ​ S-au simulat diverse intervale de BPM (sub 60, între 60–100, peste 100).
     * **Rezultat:​** ​ LED-ul verde se aprinde doar în intervalul normal, LED-ul roșu în afara acestuia. Comportamentul este corect și sincronizat cu afișajul LCD.     * **Rezultat:​** ​ LED-ul verde se aprinde doar în intervalul normal, LED-ul roșu în afara acestuia. Comportamentul este corect și sincronizat cu afișajul LCD.
- 
-  * **Buzzer (ieșire PWM)  **: 
-    * **Metodă de testare:​** ​ Verificarea auditivă a sunetelor generate pentru BPM normal vs anormal. 
-    * **Rezultat:​** ​ Sunetul este distinct, se declanșează la momentul corect, și nu persistă nejustificat. Niciun conflict cu alte ieșiri (LED-uri, SD). 
  
   * **Afișaj LCD I2C (LiquidCrystal_I2C) **:   * **Afișaj LCD I2C (LiquidCrystal_I2C) **:
Line 255: Line 244:
   * **Comportament standby **:   * **Comportament standby **:
     * **Metodă de testare:​** ​ A fost simulat scenariul fără puls timp de peste 3 secunde.     * **Metodă de testare:​** ​ A fost simulat scenariul fără puls timp de peste 3 secunde.
-    * **Rezultat:​** ​ Sistemul intră automat în mod standby, oprește ​buzzerul și LED-urile, și afișează „Astept puls...”. Se reactivează imediat la detectarea unui puls nou.+    * **Rezultat:​** ​ Sistemul intră automat în mod standby, oprește LED-urile, și afișează „Astept puls...”. Se reactivează imediat la detectarea unui puls nou.
  
  
Line 294: Line 283:
      * În stare activă, după realizarea a câteva exerciții fizice ușoare, valorile afișate au crescut progresiv până la 95-105 BPM, apoi au revenit la normal după câteva minute, confirmând răspunsul în timp real al senzorului.      * În stare activă, după realizarea a câteva exerciții fizice ușoare, valorile afișate au crescut progresiv până la 95-105 BPM, apoi au revenit la normal după câteva minute, confirmând răspunsul în timp real al senzorului.
   - **Fiabilitatea sistemului**   - **Fiabilitatea sistemului**
-     * Senzorul de puls a fost capabil să detecteze lipsa semnalului după câteva secunde (aproximativ 3 secunde fără să fi detectat un puls), moment în care afișajul pe LCD a revenit la mesajul de așteptare, iar LED-urile ​și buzzerul ​au fost dezactivate.+     * Senzorul de puls a fost capabil să detecteze lipsa semnalului după câteva secunde (aproximativ 3 secunde fără să fi detectat un puls), moment în care afișajul pe LCD a revenit la mesajul de așteptare, iar LED-urile au fost dezactivate.
      * Nu au fost detectate alarme false sau valori imposibile datorită filtrării și restricțiilor de interval impuse (45-160 BPM)      * Nu au fost detectate alarme false sau valori imposibile datorită filtrării și restricțiilor de interval impuse (45-160 BPM)
   - **Afișaj pe LCD I2C**   - **Afișaj pe LCD I2C**
Line 302: Line 291:
      * Fișierul rezultat conține un istoric complet al sesiunii de testare      * Fișierul rezultat conține un istoric complet al sesiunii de testare
      * Verificarea pe PC a confirmat că toate înregistrările au fost realizate corect, fără pierderi de date.      * Verificarea pe PC a confirmat că toate înregistrările au fost realizate corect, fără pierderi de date.
-   - **Semnalizare ​acustică și vizuală**+   - **Semnalizare vizuală**
      * LED-ul verde s-a aprins automat când BPM-ul era în intervalul 60-85.      * LED-ul verde s-a aprins automat când BPM-ul era în intervalul 60-85.
-     * LED-ul roșu și buzzerul ​s-au activat automat când BPM-ul ieșea din acest interval+     * LED-ul roșu s-activat automat când BPM-ul ieșea din acest interval.
-     * Semnalele sonore au fost scurte și clare, fără distorsiuni,​ confirmând funcționarea PWM-ului de la pinul buzzer-ului.+
    ​{{:​pm:​prj2025:​avaduva:​pm_afisaj.jpg?​500|}} ​      ​{{:​pm:​prj2025:​avaduva:​pm_afisaj.jpg?​500|}} ​  
 +   
 + Mai jos se găsește atașat un link către un video cu funcționalitatea proiectului și valorile obținute.
 +**https://​mega.nz/​file/​QUAylYjB#​QLeDn22n2eUCR9RPRIzO98EqX4kl8R7zjHL49KlEdfI**
 +
  
 ===== Concluzii ===== ===== Concluzii =====
Line 316: Line 308:
      * Sistemul răspunde rapid la modificările ritmului cardiac și semnalizează eficient depășirea limitelor normale.      * Sistemul răspunde rapid la modificările ritmului cardiac și semnalizează eficient depășirea limitelor normale.
   - **Ușor de utilizat**   - **Ușor de utilizat**
-     * Interfața cu utilizatorul (LCDLED-uri ​și buzzer) oferă feedback intuitiv și imediat.+     * Interfața cu utilizatorul (LCD și LED-uri) oferă feedback intuitiv și imediat.
      * Afișajul este clar, iar sistemul revine automat în modul de așteptare când nu este detectat un puls.      * Afișajul este clar, iar sistemul revine automat în modul de așteptare când nu este detectat un puls.
   - **Modular și extensibil**   - **Modular și extensibil**
Line 329: Line 321:
 ===== Download ===== ===== Download =====
  
-<note warning>​ +Arhiva ​proiectului:​ 
-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ă ;-). +Turcitu Luiza-Alexandra333AA -> {{:pm:prj2025:avaduva:proiect_pm_turcitu_luiza_3333aa.zip|}}
- +
-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 Alin331CC -> **:pm:prj2009:cc:dumitru_alin**. +
-</​note>​ +
- +
-===== Jurnal =====+
  
-<note tip> 
-Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. 
-</​note>​ 
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
Line 346: Line 330:
   * Senzor de puls HW-827 : https://​lastminuteengineers.com/​pulse-sensor-arduino-tutorial/,​ https://​github.com/​WorldFamousElectronics/​PulseSensorPlayground   * Senzor de puls HW-827 : https://​lastminuteengineers.com/​pulse-sensor-arduino-tutorial/,​ https://​github.com/​WorldFamousElectronics/​PulseSensorPlayground
   * Cititor SD Card și microSD : https://​lastminuteengineers.com/​arduino-micro-sd-card-module-tutorial/​   * Cititor SD Card și microSD : https://​lastminuteengineers.com/​arduino-micro-sd-card-module-tutorial/​
-  * Buzzer : https://​docs.arduino.cc/​built-in-examples/​digital/​toneMelody/,​ https://​components101.com/​misc/​buzzer-pinout-working-datasheet 
   * LED-uri : https://​docs.arduino.cc/​built-in-examples/​basics/​Blink/​   * LED-uri : https://​docs.arduino.cc/​built-in-examples/​basics/​Blink/​
  
pm/prj2025/avaduva/luiza.turcitu.1748204530.txt.gz · Last modified: 2025/05/25 23:22 by luiza.turcitu
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