Fitness tracker

Introducere

Acest proiect presupune construirea unui dispozitiv portabil de monitorizare a activitatii fizice, care utilizeaza o placuta Arduino, un accelerometru si un modul Bluetooth prin intermediul caruia datele de miscare vor fi transmise la un dispozitiv mobil, unde vor fi procesate si utilizate pentru a calcula numarul de pasi si estimarea caloriilor arse de utilizator.

Descriere generală

Modul de interactiune a modulelor utilizate in proiect:

  • Utilizatorul porneste dispozitivul de monitorizare a activitatii fizice, pornind alimentarea de la baterie si conecteaza telefonul mobil la aplicatia dedicata.
  • Arduino Uno primeste date de la accelerometru, colectand informatii despre miscarea corpului utilizatorului.
  • Datele de miscare sunt prelucrate de placuta Arduino pentru a calcula numarul de pasi si caloriile arse.
  • Placuta Arduino trimite datele procesate catre modulul Bluetooth pentru transmiterea catre aplicatia mobila.
  • Aplicatia mobila primeste datele de miscare de la tracker prin intermediul conexiunii Bluetooth si le afiseaza utilizatorului.
  • Utilizatorul poate vizualiza statisticile de fitness si sa isi urmareasca progresul in activitatea sa fizica.

Hardware Design

Lista de componente utilizate:

  • Arduino Uno
  • Modul Bluetooth HC-05
  • Senzor MPU-6050
  • Breadboard
  • Fire de conexiune
  • Baterie de 9V

Modulul Bluetooth HC-05 se conecteaza la Arduino pentru a transmite datele catre telefonul mobil.

Pini utilizati:

  • TX (de transmitere) al modulului Bluetooth conectat la pinul RX (de primire) al placutei Arduino.
  • RX al modulului Bluetooth conectat la pinul RX al placutei Arduino.
  • Pinul VCC al modulului Bluetooth conectat la pinul de alimentare de 5V al Arduino Uno.
  • Pinul GND al modulului Bluetooth la un pin GND al Arduino Uno.

Conexiunea aceasta permite comunicarea seriala intre Arduino si modulul Bluetooth.

Senzorul MPU-6050 (accelerometru si giroscop) va masura miscarea si orientarea dispozitivului.

Pini utilizati:

  • VCC al senzorului conectat la pinul de alimentare de 5V al placutei Arduino.
  • GND al senzorului conectat la un pin GND al Arduino Uno.
  • Pinul SDA al senzorului conectat la pinul analogic A4 al Arduino. Acest pin al senzorului permite transmiterea si receptionarea datelor.
  • Pinul SCL al senzorului conectat la pinul analogic A5 al Arduino. Acest pin al senzorului furnizeaza semnalul de ceas utilizat pentru sincronizarea transmiterii si receptionarii datelor.

Conexiunea aceasta permite comunicarea I2C intre senzorul MPU-6050 si Arduino Uno.

Software Design

Mediul de dezvoltare utilizat este Arduino IDE. Codul este structurat in mai multe sectiuni pentru a gestiona diferitele functii ale dispozitivului: initializarea componentelor hardware, citirea datelor de la accelerometru, calcularea numarului de pasi si a caloriilor arse, si trimiterea datelor catre modulul Bluetooth pentru afisare pe aplicatia mobila. Proiectul utilizeaza urmatoarele librarii externe:

  • Wire.h pentru comunicarea I2C cu senzorul MPU-6050.
  • EEPROM.h pentru stocarea persistenta a datelor, cum ar fi numarul de pasi.
  • SoftwareSerial.h pentru comunicarea seriala cu modulul Bluetooth HC-05.

Codul sursa pentru firmware-ul acestui proiect include functii specifice pentru fiecare etapa a procesului de monitorizare a activitatii fizice:

  • resetEEPROM(): Reseteaza datele stocate in EEPROM.
  • setup(): Configureaza initializarile hardware si asteapta introducerea greutatii utilizatorului prin intermediul Bluetooth.
  • loop(): Bucla principala a codului care se executa continuu, citind datele de la accelerometru, detectand pasii, calculand caloriile si afisand datele.
  • readAccelerometerData(): Citeste datele de la senzorul MPU-6050.
  • saveStepCount(): Salveaza numarul de pasi in EEPROM.
  • detectStep(): Detecteaza pasii pe baza datelor de acceleratie.
  • calculateCalories(): Calculeaza caloriile arse pe baza numarului de pasi si a greutatii utilizatorului.
  • displayData(): Trimite datele procesate prin Bluetooth catre aplicatia mobila.

Cod sursa proiect: https://github.com/Alexandraacalota/Proiect-PM/blob/main/proiect.ino

Imagini cu proiectul si rezultatele obtinute in terminalul Bluetooth de pe telefonul mobil: https://github.com/Alexandraacalota/Proiect-PM. Am testat pentru 3 persoane diferite, cu numarul lor aferent de kg. Se afiseaza la fiecare nou pas numarul lor de pana atunci si al caloriilor arse.

Rezultate Obţinute

Acest proiect de monitorizare a activitatii fizice ofera utilizatorilor o modalitate accesibila de a-si urmari progresul in fitness. Prin utilizarea unui modul Bluetooth, datele sunt transmise in timp real catre un dispozitiv mobil, permitand utilizatorilor sa-si monitorizeze numarul de pasi si caloriile arse.

Concluzii

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

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.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2024/rpascale/alexandra.calota02.txt · Last modified: 2024/05/27 17:20 by alexandra.calota02
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