This is an old revision of the document!


Pulsoximetru

Introducere

Proiectul consta intr-un dispozitiv de masurare a pulfului folosind un senzor, si afisarea pulsului pe un ecran LCD, si luminarea ului led de fiecare data cand este detectata o bataie a inimii. Nivelul pulsului este afisat si prin intermediul unor leduri RGB.

Descriere generală

Schema Bloc

  1. Arduino Uno R3
    • Mediaza fluzul de date intre senzor si LCD 16×2.
  2. Senzor Puls
    • Trimite o unda de lumina, la o frecventa cunoscuta prin deget, si masoara catitatea de lumina returnata cu ajutorul unui senzor.
  3. LCD-I2C
    • La inceput este afisat un mesaj care anunta utilizatorul ca poate sa puna degetul pe senzor pentru a incepe procesul de masurare a pulsului.
    • Afiseaza valoarea curenta a pulsului.
    • Daca pulsul are valori anormale, este afisat un mesaj care anunta utilizatorul ca nu utilizeaza corect senzorul si trebuie sa modfifice pozitia degetului.
  4. LED Rosu
    • Se aprinde de fiecare data cand este detectata o bataie.
  5. LED-uri RGB
    • Reprezinta nivelul pulsului la un moment dat.
      1. Verde - Puls intre 60-100 BPM
      2. Galben - Puls intre 100-140 BPM
      3. Rosu - Puls intre 140-160 BPM
    • Daca este depasita valoarea de 160 BPM, cele 3 Led-uri se schimba toate in rosu si se aprind si se stng timp de 3 secunde.

Hardware Design

Lista de piese

Nume Numar piese
Arduino Uno R3 1
LED-Rosu 1
LED-uri RGB 3
LCD 1
Breadboard 1
Senzor Puls 1
Fire tata-tata
Fire mama-tata

Schema electrica

Conectare Senzor Puls

Senzorul de puls are 3 pini: VCC, GND si SIGNAL. Pinii VCC si GND se conecteaza la pinii corespunzatori de pe Arduino si pinul SIGNAL se conecteaza la pinul ANALOG A0.

Conectare LCD-I2C

Ecranul LCD se conecteaza la Arduino folosind interfata seriala I2C, prin pinii GND, VCC, SDA, SCL care sunt legati la placuta Arduino. LCD-ul a venit cu modulul I2C conectat si nu a fost nevoie sa fac conexiunea cu pinii de la LCD, reducand numarul de pini folositi de pe Arduino.

Software Design

  • Limbaj de programare folosit: C
  • Mediu de dezvoltare si compilare: Arduino IDE

IMPLEMENTARE

Biblioteci folosite
  • LiquidCrystal_I2C.h - pentru LCD
  • PulseSensorPlayground.h - pentru Pulse Sensor
Program
  1. Inainte de Setup():
    • Initializare de variabile.
    • Setez valorile pentru amplitudine, threshold, peak si trough.
  2. Setup():
    • Seteaza senzorul sa citeasca un semnal la fiecare 2ms.
    • Initializeaza LCD- ul.
    • Seteaza pinul de Output pentru LEd-ul Rosu si initializeaza LED-urile RGB.
  3. Loop():
    • Asteapta confirmarea ca a fost detetata o bataie si apeleaza functia BeatHappens().
  4. BeatHappens():
    • Verifica in ce interval se incadreaza pulsul si aprinde LED-urile RGB in functie de asta.
  5. setColorRGB():
    • Seteaza culoarea pentru un LED RGB.
  6. ISR():
    • Se citeste semnalul de la senzor, se elimita zgomotul, si se calculeaza valoarea pentru puls.

Rezultate Obţinute

Am obtinut un dispozitiv care prin pozitionarea degetului pe un senzor intr-o anumita pozitie poate determina pulsul unei persoane si afiseaza valoarea pe un ecran LCD. In plus prin intermediul unui LED ulilizatorul poate sa vada fiecare bataie a inimii detectata dar si nivelul in care se incareaza pulsul la momentul respectiv.

 Place Your Finger.



Concluzii

Proiectul este complet functional si poate fi folosit la masurarea pulsului.

Download

Bibliografie

pm/prj2021/agrigore/pulsoximetru.1622379241.txt.gz · Last modified: 2021/05/30 15:54 by mihai.godinel
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