Table of Contents

Dispozitiv de masurat pasii si bataile inimii

Student: Buzatu Dragos Lucian

Grupa: 332CC

Introducere

Prezentarea pe scurt a proiectului:

Proiectul reprezintă un dispozitiv care tine alergatorul la curent cu datele de care acesta are nevoie, numarul de pasi efectuati de la inceperea activitatii si pulsul acestuia in timp ce efectueaza efortul fizic.

Scopul proiectului:

Dispozitivul are scopul de a genera pentru utilizatorul datele necesare pentru efectuarea unei activitati fizice corespunzatoare. Pulsul cardiac este un factor crucial in momentul unei astfel de activitati, multi oameni avand nevoie sa il verifice frecvent in timpul unui antrenament. De asemenea, pentru un stil de viata sanatos, este recomandat un numar de 10000 de pasi pe zi, functionalitate existenta in acelasi dispozitiv, acesta contorizand numarul total de pasi de la inceperea unei activatii si afisarea lor in timp real.

Descriere generala:

Arduino primeste constant datele de la accelerometru ADXL335 si le trimite ecranului LCD pentru sincronizare si afisarea numarului de pasi. Pentru verificarea pulsului, se utilizeaza un modul ce se folosește de un LED IR și un fototranzistor pentru a detecta bătăile inimii. LED-ul este folosit pentru a lumina degetul, iar fototranzistorul va măsura cantitatea de lumină ce se reflectă din deget, pulsul astfel modificând valorile măsurate de fototranzistor.

Hardware Design

Listă componente:
Arduino UNO R3 ATM328p
Senzor Accelerometru ADXL335 cu 3 axe
Modul senzor puls cardiac
Ecran LCD 1602 IIC/I2C
Breadboard 400puncte
Fire Dupont tata-tata
Fire Dupont tata-mama

Schema bloc

Design Circuit

Circuit fizic

Software design

Am utilizat biblioteca LiquidCrystal_I2C pentru a utiliza ecranul LCD 1602 IIC/I2C pe care imi doream sa afisez in timp real numarul de pasi facut de utilizator. Pentru aceasta, am conectat pinii accelerometrului la placuta Arduino pe A1,A2,A3, valorile preluate(proaste deoarece senzorul face contact imperfect si nu am reusit sa il lipesc), le preiau transformandu-le in float-uri din care scad anumite valori pentru o acuratete mai mare(proasta si asta), in final aplic formula: radical(a^2 + b^2 + c^2). In final, calculez media aritmetica intre 2 momente pentru a depista daca a avut loc o miscare, pe care o compar cu un threshold. Pentru partea de puls, am creat un vector de culori RGB, pentru diferite intervale de puls. Am preluat valoarea obtinuta, pe care am aplicat un map si am comparat-o cu valorile din pulseThreashold pentru a stabili in ce interval si ce culoare isi seteaza.

Rezultat final

final.zip