Autor: Tomescu Ana-Maria, Grupa: 334CA
Proiectul propune implementarea unui sistem de monitorizare a ritmului cardiac utilizand microcontrollerul ATMega328P. Pulsul este masurat cu ajutorul unui senzor de puls (XD-58C), afisat in timp real pe un display OLED, iar în cazul in care valorile inregistrate ies din intervalul normal (60–100 BPM), se activeaza o alarma sonora cu ajutorul unui buzzer pasiv. Proiectul include un modul de card SD, care permite salvarea datelor de puls pentru monitorizare ulterioara. Acest lucru extinde proiectul de la un simplu sistem de alerta, la un dispozitiv de inregistrare a semnelor vitale.
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
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 |
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.
Adafruit_SSD1306 si Adafruit_GFX – folosite pentru afisaj grafic si text pe ecrane OLED SPI.h – necesara pentru comunicarea rapida cu display-ul SPI Arduino.h – ofera functii de baza pentru citirea senzorilor si controlul pinilor
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.
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.
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.