This shows you the differences between two versions of the page.
pm:prj2024:rpascale:alexandra.calota02 [2024/05/05 20:39] alexandra.calota02 removed |
pm:prj2024:rpascale:alexandra.calota02 [2024/05/27 17:20] (current) alexandra.calota02 |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | Watering system | + | ====== 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. | ||
+ | |||
+ | {{:pm:prj2024:rpascale:untitled_diagram.png?800|}} | ||
+ | |||
+ | ===== 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. | ||
+ | |||
+ | |||
+ | |||
+ | {{:pm:prj2024:rpascale:electric.png?700|}} | ||
+ | |||
+ | ===== 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 ===== | ||
+ | |||
+ | <note warning> | ||
+ | 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**. | ||
+ | </note> | ||
+ | |||
+ | ===== Jurnal ===== | ||
+ | |||
+ | <note tip> | ||
+ | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | ||
+ | </note> | ||
+ | |||
+ | ===== Bibliografie/Resurse ===== | ||
+ | |||
+ | <note> | ||
+ | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | ||
+ | </note> | ||
+ | |||
+ | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> |