Pulsometer

Name: Bogdan-Vasile Petrea

Group: 331CA

Introducere

Pulsometer este un sistem creat pentru măsurarea pulsului utilizând LEDuri roșii și un fototranzistor, controlat de un Arduino Uno. Acesta măsoară ritmul cardiac al utilizatorului, calculează BPM-ul (bătăi pe minut) și îl afișează pe un ecran LCD. Scopul proiectului este de a oferi o soluție accesibilă pentru monitorizarea pulsului, folosind componente simple și procesare software simplă.

Descriere generală

Arhitectura sistemului include:

  • Control Unit: Arduino Uno – execută citirea semnalului de la fototranzistor, controlul LED-urilor și generarea semnalului audio (dacă se adaugă funcționalitatea de sunet).
  • Input Module: Fototranzistor – detectează schimbările de lumină cauzate de pulsațiile inimii.
  • Output Module: LCD – afișează BPM-ul calculat.
  • Audio Module (opțional): Buzzer activ – poate emite un semnal sonor la detectarea fiecărei bătăi.

Hardware Design

Component Description
Arduino Uno Microcontroller board responsible for processing and control
Red/Infrared LED Emits light to illuminate the skin for pulse detection
Phototransistor Detects reflected light changes caused by blood flow
LM358 Op-Amp Amplifies the analog signal from the phototransistor
LCD 16×2 (I2C) Displays BPM and system messages
Resistors (220Ω, 10kΩ) Current limiting and signal stabilization for LED and phototransistor
Breadboard Platform for prototyping and connections
Jumper wires Connectors for circuit assembly
Active Buzzer (optional) Emits sound feedback on heartbeat detection

Schema conexiunilor:

  • LED-ul IR conectat la 5V printr-un rezistor de 220Ω.
  • Fototranzistor conectat la pin analogic (A0) Arduino, cu rezistor de 10kΩ pentru stabilizare.
  • LCD conectat prin I2C (SDA, SCL) pentru afișaj BPM.
  • Buzzer conectat la pin digital PWM (opțional).

Pin Component Funcție
——– ————– ————————————————
D2 – D8 LED-uri verzi Controlul celor 7 LED-uri
A0 Fotoreceptor Citirea semnalului analogic de puls
A1 Buzzer Ieșire semnal sonor (PWM)
A4 (SDA) LCD (I2C) Linie date I2C
A5 (SCL) LCD (I2C) Linie ceas I2C

Software Design

Firmware-ul a fost dezvoltat în Arduino IDE, folosind următoarele librării:

  • Wire.h – pentru comunicarea I2C.
  • LiquidCrystal_I2C.h – pentru controlul LCD-ului 16×2 prin I2C.

Algoritmul implementat:

  • Se preia semnalul analogic de la fototranzistor (pin A0), reprezentând variațiile luminii reflectate de sânge.
  • Semnalul este filtrat printr-un filtru medie mobilă pentru reducerea zgomotului.
  • Se realizează o calibrare inițială de 5 secunde pentru stabilirea pragurilor dinamice (minim, maxim, prag).
  • Ulterior, se detectează vârfurile semnalului care indică bătăile inimii.
  • Intervalele dintre bătăi sunt folosite pentru calcularea BPM, cu netezire pentru stabilitatea afișajului.
  • Valorile BPM sunt afișate în timp real pe LCD.
  • Buzzer-ul emite un sunet scurt la fiecare bătaie detectată (opțional).
  • Se implementează cicluri de măsurare de 5 secunde, urmate de o pauză de 3 secunde.

Funcțiile principale sunt:

  • calculateBPM() – calculează și netezește BPM-ul.
  • updateBuzzer() – controlează sunetul buzzer-ului.
  • loop() – gestionează citirea, filtrarea, detectarea pulsului și afișajul.

Rezultate Obținute

Proiectul a fost testat cu succes, obținând următoarele rezultate:

Detectarea stabilă a pulsului cu valori BPM între 45 și 180 în funcție de activitate.

Feedback vizual și sonor sincronizat cu bătăile inimii.

Afișaj clar și ușor de citit pe LCD, cu mesaje de calibrare și date actualizate.

Calibrare automată adaptivă la condițiile de măsurare.

Posibilitatea extinderii cu afișarea progresivă a LED-urilor și logare de date.

Concluzii

Pulsometer oferă o soluție simplă și eficientă pentru monitorizarea ritmului cardiac folosind componente accesibile. Algoritmul de detectare și filtrare asigură o măsurare precisă și stabilă, iar feedback-ul sonor și vizual facilitează utilizarea intuitivă a dispozitivului.

Bibliografie/Resurse

Documentație Arduino Uno

Librăria LiquidCrystal_I2C

Tutoriale și articole despre detectarea pulsului prin fototranzistor

Cod Sursă

pm/prj2025/eradu/bogdan.petrea.txt · Last modified: 2025/05/23 13:42 by bogdan.petrea
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