Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2025:ajipa:bogdan.trifan2412 [2025/05/02 09:02]
bogdan.trifan2412 created
pm:prj2025:ajipa:bogdan.trifan2412 [2025/05/05 14:30] (current)
bogdan.trifan2412
Line 1: Line 1:
-Proiect PM+====== Gym Assistant ====== 
 + 
 +===== Introducere ===== 
 + 
 +În acest proiect îmi propun să dezvolt un sistem de "​supervizare"​ 
 +pentru [[https://​musclewiki.com/​machine/​male/​triceps/​machine-chest-press/​|Machine Chest Press]]. 
 + 
 +Dispozitivul meu va avea următoarele funcționalități:​ 
 +    - Numără repetările/​pauzele făcute la acest aparat, alături de durata lor 
 +    - Redă muzică în timpul antrenamentului  
 +    - Motivează utilizatorii în momente de inactivitate,​ prin redarea unor mesaje audio inspiraționale (ex. **David Goggins**) 
 +    - Stimulează utilizatorii să facă măcar 3 seturi de 8 repetări, cu pauze maxim 45 de secunde 
 +    - Simulează accesul la o sală de fitness pe bază de cartelă 
 + 
 +Am găsit inspirație pentru acest proiect la sală. 
 +Aici, cel mai important e să te concentrezi pe exercițiul efectiv, nu să stai să-ți numeri repetările. 
 + 
 +Deși pare un task simplu, să ai pe cineva (sau **ceva**) care să facă asta pentru tine este o mare diferență. 
 + 
 +Mai ales dacă îți împinge limitele la maxim prin mesaje motivaționale precum 
 +''​mai poți încă 3'',​ ''​hai încă una'',​ sau clasicul ''​Who'​s gonna carry the boats?''​. 
 +Aduce energia care te face să nu renunți. 
 + 
 +Consider că dispozitivul meu este ideal pentru persoanele care vin singure 
 +la sală și nu au pe nimeni care să facă asta pentru ei. 
 + 
 +<note tip> 
 +Având în vedere poziționarea senzorilor,​ 
 +proiectul meu poate monitoriza DOAR exercițiul de [[https://​musclewiki.com/​machine/​male/​triceps/​machine-chest-press/​|Machine Chest Press]], 
 +un exercițiu simplu în care doar trebuie să împingi o bară în față. 
 +</​note>​ 
 + 
 + 
 +===== Descriere generală ===== 
 + 
 + 
 +==== Schema bloc ==== 
 + 
 +{{:​pm:​prj2025:​ajipa:​gym_assistant_PM-Project-schema-bloc.jpg?​600}} 
 + 
 + 
 +Diagrama a fost realizată în [[https://​app.diagrams.net/​|draw.io]]. 
 + 
 +==== Audio Files ==== 
 + 
 +Pentru a descărca melodii de pe YouTube drept fișiere **MP3**, am folosit: 
 +  * https://​y2mate.nu/​en-CVeZ/​ 
 + 
 +<note tip> 
 +Pentru a transforma **MP3**-urile în fișiere **WAV**, am folosit: 
 +  * https://​audio.online-convert.com/​convert-to-wav 
 +</​note>​ 
 + 
 +Opțiunile folosite la convertirea **MP3 -> WAV**: 
 +  * Bit resolution: **8 bit** 
 +  * Audio frequency: **16 kHz** 
 +  * Audio channels: **Mono** 
 + 
 +Înainte de a pune fișierele audio pe microSD, 
 +am formatat cardul în modul **FAT32** 
 +și am denumit fișierele corespunzător. 
 + 
 +<note warning>​ 
 +**⚠️ Atenție!** Sistemele de fișiere **FAT** folosesc convenția [[https://​en.wikipedia.org/​wiki/​8.3_filename|8.3 filename]],​ 
 +ceea ce înseamnă că denumirea fișierelor:​ 
 +  * nu poate avea mai mult de **8** caractere înainte de punct 
 +  * maxim **3** caractere pentru extensie 
 +</​note>​ 
 + 
 +==== Conectarea butoanelor ==== 
 + 
 +  * [[https://​wiki-content.arduino.cc/​documents/​datasheets/​Button.pdf|Data Sheet Push-Buttons]] 
 +  * [[https://​components101.com/​switches/​push-button|Push-button info]] 
 + 
 +{{https://​components101.com/​sites/​default/​files/​component_pin/​Push-button-Pinout.gif?​250x}} 
 + 
 +<note tip> 
 +Picioarele care formează o linie sunt **direct conectate**. 
 +</​note>​ 
 + 
 +Înainte de a face cablajul între butoanele de pe cutie și breadboard,​ 
 +am făcut următoarele *"​simulări"​* în TinkerCAD. 
 +Așa trebuie să arate conexiunea cu un push-button:​ 
 + 
 +{{:​Images:​vertical-button.png?​250x}} 
 +{{:​Images:​horizontal-button.png?​250x}} 
 + 
 +Exemplu cod (basic) pentru a detecta apăsarea butonului:​ 
 + 
 +<code cpp> 
 +#define PIN_BUTTON 3 
 + 
 +void setup() 
 +
 +  pinMode(PIN_BUTTON,​ INPUT); 
 +  Serial.begin(9600);​ 
 +
 + 
 +void loop() 
 +
 +  if (digitalRead(PIN_BUTTON) == LOW) { 
 +    Serial.println("​butonul a fost apasat!"​);​ 
 +  } 
 +  delay(100);​ 
 +
 +</​code>​ 
 + 
 +===== Hardware Design ===== 
 + 
 +==== Lista piese ==== 
 + 
 +  * Arduino UNO 
 +  * 4 x [[https://​ardushop.ro/​ro/​butoane--switch-uri/​713-buton-mic-push-button-trough-hole-6427854009050.html|push-buttons]] 
 +  * Ecran LCD 16x2 cu modul I2C 
 +  * Rezistențe 220Ω 
 +  * [[https://​ardushop.ro/​ro/​module/​1553-groundstudio-microsd-module-6427854023056.html|MicroSD Module]] 
 +  * [[https://​www.optimusdigital.ro/​ro/​memorii/​8678-card-microsd-original-de-16-gb-cu-noobs-compatibil-cu-raspberry-pi-4-model-b-varianta-bulk.html|Card MicroSD 16 GB]] 
 +    * Nu am găsit un card mai mic 🙁 
 +  * [[https://​www.emag.ro/​modul-difuzor-waveshare-36-52x43-44-mm-compatibil-cu-micro-bit-arduino-speakerformicro-bitwaveshare14542/​pd/​D785XQMBM|Speaker for Micro:​bit]] 
 +    * Cred că erau și alte opțiuni mult mai ieftine 🙂 
 +  * [[https://​www.optimusdigital.ro/​ro/​electronica-de-putere-stabilizatoare-liniare/​168-modul-cu-sursa-de-alimentare-de-33-v.html|Stabilizator de 3.3 V]] (pentru Vin al Speaker-ului) 
 +  * 2 x [[https://​www.optimusdigital.ro/​ro/​senzori-senzori-ultrasonici/​9-senzor-ultrasonic-hc-sr04-.html|Senzor ultrasonic HC-SR04]] 
 +  * [[https://​www.optimusdigital.ro/​ro/​prototipare-breadboard-uri/​8-breadboard-830-points.html|Breadboard 830 puncte]] 
 +  * [[https://​www.optimusdigital.ro/​ro/​fire-fire-mufate/​878-set-fire-mama-tata-40p-30-cm.html|Fire Colorate Mamă-Tată]] 
 +  * [[https://​www.optimusdigital.ro/​ro/​fire-fire-mufate/​890-set-fire-tata-tata-40p-30-cm.html|Fire Colorate Tată-Tată]] 
 +  * [[https://​www.optimusdigital.ro/​ro/​wireless-rfid/​67-modul-cititor-rfid-mfrc522.html|Modul RFID RC522]] 
 + 
 +==== Schema circuit ==== 
 + 
 +{{:​pm:​prj2025:​ajipa:​gym_assistant_circuit_design.png?​600}} 
 + 
 +<note tip> 
 +Schema a fost realizată în [[https://​app.cirkitdesigner.com/​|Cirkit Designer IDE]]. 
 +</​note>​ 
 + 
pm/prj2025/ajipa/bogdan.trifan2412.1746165769.txt.gz · Last modified: 2025/05/02 09:02 by bogdan.trifan2412
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