Table of Contents

Gym Tracker

Autor: Rosca Cvintilian

Grupa: 332CA

Introducere

Proiectul Gym Tracker constă într-un set de 2 dispozitive care permit monitorizarea activităților sportive.

Schema bloc

Hardware Design

Dongle-ul si EMG device-ul au fost dezvoltate la nivel de PCB (utilizând ATmega328P si ATmega32U4). Din aceste considerente, e destul de complicata enumerarea tuturor componentelor utilizate. Lista de mai jos, include un set restrâns. Pentru vizualizarea tuturor, se pot analiza Bill of Materials pentru cele 3 PCB-uri.

Componentă Cantitate
Arduino UNO 1
Breadboard 1
ATmega328P 1
ATmega32U4 1
LCD 16 x 2 2
nRF24L01 3
Antena W3006 2
Battery 18650 2
Modul Battery Charger 1
Force Sensors 3
Push Button 5
MyoWare Muscle Activity Sensor 1

Schema electrică Dongle

Schema electrică Box Analyzer Device

La nivel de board, configuratia pentru cele 2 device-uri este similara

Schema electrică EMG Analyzer Device

Software Design

Mediul de dezvoltare

  • ARDUINO IDE → dezvoltarea codului pentru Dongle si dispozitive
  • Autodesk Eagle → realizarea schemei electrice si a board-urilor
  • IntelliJ IDEA → dezvoltarea aplicatiilor JavaFX
  • SceneBuilder → dezvoltarea UI
  • FUSION 360 → modelarea carcasei dispozitivelor
  • PRUSA Slicer → imprimarea carcaselor

Biblioteci folosite

  • SPI.h
  • EEPROM.h
  • Wire.h
  • DFRobot_LCD.h
  • nRF24L01.h
  • RF24.h

Implementare

La nivel de funcțional, ambele device-urile se integrează cu un dongle care are rolul de transmite datele colectate prin interfață serială PC-ului.

Flow-ul: Device ↔ Dongle ↔ Personal Computer

Între device si dongle, se realizează o procedură de pairing. Prin o apăsare de min. 5s a butonului prezent pe dongle, se verifica dacă mesajul captat este de tip Pair, caz în care se salvează in memorie ID-ul device-ului cuplat.

Payload-ul transmis către dongle este identic pentru ambele dispozitive constând într-o pereche ID dispozitiv si data. Rolul Dongle-ului este de a transmite aceste date către PC (app).

În cazul device-urilor, logica de pairing si transmitere a payload-ului este similara. Pentru Box Analyzer device, datele sunt colectate de la 3 force sensors, apeluri de tipul analogRead(). Au fost setate 2 valori de threshold pentru o filtrare a tensiunilor citite. La o apăsare de 1s a butonului, utilizatorul generează un nou dataset. (10 sec pentru a efectua procesul de pairing). Valorile citite cât și procentajul bateriei sunt afișate pe LCD-ul 16 x 2.

EMG device-ul colectează datele de la un MyoWare Muscle Activity Sensor. Ca si in cazul celuilalt device, inițializarea presupune o calibrare a datelor citite si anume 2 momente analizate: cazul in care grupul de mușchi este relaxat și contractat pentru limitele de threshold. Datele citite sunt afișate pe LCD, la fel si procentajul bateriei.

Integrarea Hardware ↔ Software se realizează prin intermediul a 2 aplicații dezvoltate pentru a facilita vizualizarea si analiza datelor colectate. Ambele sunt bazate pe tehnologie JavaFX si librăria JSerialCom.

Sunt expuse 2 modalități de utilizare:

Ficționalități:

Rezultate Obţinute

EMG device + Dongle

Box Analyzer device (fază embrionară)

Concluzii

Realizarea proiectului a reprezentat o oportunitate de a aplica un set din knowledge-ul obtinut in cadrul a diferitor materii:

Deasemenea, am avut oportunitatea de a invata lucruri noi, din categoria modelare 3D si familiarizare cu domeniul imprimarii 3D. Mi se pare un proiect util, care urmeaza a fi dezvoltat ulterior prin integrarea aplicatiei cu un WebService (work in progress…)

Jurnal

Bibliografie/Resurse

Export to PDF