This shows you the differences between two versions of the page.
pm:prj2025:vstoica:ana_maria.tomescu [2025/05/02 21:29] ana_maria.tomescu created |
pm:prj2025:vstoica:ana_maria.tomescu [2025/05/26 00:43] (current) ana_maria.tomescu |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Monitor de puls cu alarma ====== | + | ====== Monitor de puls cu alarma si memorie ====== |
Autor: Tomescu Ana-Maria, Grupa: 334CA | Autor: Tomescu Ana-Maria, Grupa: 334CA | ||
Line 10: | Line 10: | ||
===== Descriere generală ===== | ===== Descriere generală ===== | ||
- | <note tip> | + | ==== Schema bloc ==== |
- | 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ă bloc: http://www.robs-projects.com/mp3proj/newplayer.html | + | {{ :pm:prj2025:vstoica:schema_bloc_pm.png?800 |}} |
- | </note> | + | |
+ | ==== Componente ==== | ||
+ | |||
+ | ATmega328P (Arduino UNO) – unitatea principala de procesare | ||
+ | |||
+ | Senzor de puls XD-58C – ofera semnal analogic proportional cu pulsul | ||
+ | |||
+ | Display OLED 0.96” (I2C/SPI) – afisează pulsul si mesajele de stare | ||
+ | |||
+ | Buzzer pasiv – semnal sonor pentru alerte | ||
+ | |||
+ | Modul SD card (SPI) – salveaza datele de puls intr-un fisier text | ||
+ | |||
+ | Breadboard - conectarea componentelor | ||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
+ | {{:pm:prj2025:vstoica:monitor_de_puls_circuit.png?800|}} | ||
+ | |||
+ | ^ Nr. ^ Componentă ^ Pin Componentă ^ Pin Arduino UNO (ATmega328P) ^ | ||
+ | | 1 | Senzor puls XD-58C | VCC | 5V | | ||
+ | | | | GND | GND | | ||
+ | | | | OUT (semnal analogic) | A0 | | ||
+ | | 2 | Buzzer pasiv | VCC | 5V | | ||
+ | | | | GND | GND | | ||
+ | | | | I/O (semnal) | D3 | | ||
+ | | 3 | Display OLED 0.96” (I2C)| VCC | 5V | | ||
+ | | | | GND | GND | | ||
+ | | | | DIN | D11 | | ||
+ | | | | CLK | D13 | | ||
+ | | | | CS | D4 | | ||
+ | | | | D/C | D5 | | ||
+ | | | | RES | D6 | | ||
+ | | 4 | Modul SD Card (SPI) | VCC | 5V | | ||
+ | | | | GND | GND | | ||
+ | | | | MISO | D12 | | ||
+ | | | | MOSI | D11 | | ||
+ | | | | SCK | D13 | | ||
+ | | | | CS | D7 | | ||
<note tip> | <note tip> | ||
Line 28: | Line 62: | ||
===== Software Design ===== | ===== Software Design ===== | ||
+ | === Stadiul actual al implementarii software === | ||
+ | Proiectul este functional. Afiseaza in timp real pulsul pe un display OLED, calculeaza BPM si activeaza un buzzer daca pulsul iese din intervalul normal (60–100 BPM). Sistemul este stabil si testat fizic pe Arduino UNO. | ||
- | <note tip> | + | === Motivatia alegerii bibliotecilor === |
- | Descrierea codului aplicaţiei (firmware): | + | Adafruit_SSD1306 si Adafruit_GFX – folosite pentru afisaj grafic si text pe ecrane OLED |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | SPI.h – necesara pentru comunicarea rapida cu display-ul SPI |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | Arduino.h – ofera functii de baza pentru citirea senzorilor si controlul pinilor |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | |
- | * (etapa 3) surse şi funcţii implementate | + | === Element de noutate === |
- | </note> | + | Sistemul afiseaza nu doar valoarea BPM, ci si un grafic in timp real al semnalului pulsului. Include filtrare pentru valori false si un buzzer inteligent activ doar cand este nevoie. |
+ | |||
+ | === Concepte === | ||
+ | * citire analogica | ||
+ | * afisare grafica pe OLED | ||
+ | * semnal sonor cu buzzer | ||
+ | * control si afisare conditionala | ||
+ | |||
+ | === Structura codului === | ||
+ | * setup() – initializare componente | ||
+ | * loop() – citire senzor, calcul BPM, afisare si control buzzer | ||
+ | |||
+ | === Calibrare senzori === | ||
+ | Pragurile de detectie (UPPER si LOWER) au fost obtinute experimental, observand semnalul cu si fara contact. De asemenea, valorile BPM sub 30 sau peste 200 sunt ignorate pentru a elimina semnalele false. | ||
+ | |||
+ | === Optimizari === | ||
+ | * BPM este afisat doar cand este valid. | ||
+ | * Graficul se reseteaza automat dupa 128 puncte. | ||
+ | * Buzzerul este activ doar cand pulsul este real si anormal. | ||
+ | |||
+ | === Arhiva === | ||
+ | {{:pm:prj2025:vstoica:monitor_de_puls.zip|}} | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
+ | {{:pm:prj2025:vstoica:monitor_puls1.jpg?300|}} {{:pm:prj2025:vstoica:monitor_puls2.jpg?300|}} {{:pm:prj2025:vstoica:monitor_puls_3.jpg?300|}}<html><iframe width="560" height="315" | ||
+ | src="https://www.youtube.com/embed/inOwLH4GeiU" | ||
+ | title="YouTube video player" | ||
+ | frameborder="0" | ||
+ | allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" | ||
+ | allowfullscreen> | ||
+ | </iframe> | ||
+ | </html> | ||
- | <note tip> | + | In cazul video-ului, pulsul afisat este BPM = 62. |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | |
===== Concluzii ===== | ===== Concluzii ===== |