This is an old revision of the document!


Pushup_counter

Introducere

Proiectul isi propune detectarea si numararea flotarilor pe care le va face utilizatorul. Acesta va putea seta un target de pe telefonul propriu, iar dispozitivul il va anunta treptat, atat la fiecare flotare efectuata cat si in momentul in care atinge target-ul ales.

Descriere generala

Utilizatorul are posibilitatea de a seta de pe telefon un numar de flotari, comunciarea dintre telefon si placa Arduino realizandu-se printr-un modul bluetooth. Pe placa vor exista 5 LED-uri care se vor aprinde treptat la fiecare flotare realizata (Ex: Daca target-ul setat este 10, atunci la fiecare flotare un LED se va aprinde la jumatate din intensitatea sa). De asemenea la fiecare flotare realizata, un buzzer va scoate un sunet specific, iar dupa ce target-ul a fost atins, buzzer-ul va emite un sunet care va avea o durata mai mare. Utilizatorul va avea posibilitatea de “reset”, apasand pe un buton care se va afla tot pe placa.

Hardware design

Lista de componente:

  • Placuta Arduino Uno
  • Breadboard
  • Modul Bluetooth
  • Buton
  • LED-uri
  • Buzzer
  • Telefon
  • Fire

Software design

  Am scris codul necesar dezvoltarii proiectului in Arduino IDE. 
  Pentru a comunica cu placa Arduino UNO am avut nevoie de biblioteca Wire.h. 
  De asemenea pentru a utiliza accelerometrul am folosit bibliotecile <Adafruit_Sensor.h> si <Adafruit_ADXL345_U.h>.
  Am folosit variabila de tip Adafruit_ADXL345_Unified accel pentru a accesa 
valorile de pe axa OZ pe care le indica accelerometru pentru a detecta o schimbare a vitezei in 
momentul in care se realizeaza miscarea de ridicare de la sol, astfel ajutandu-ma la numararea flotarilor. 
  Pentru fiecare componenta de pe placa am atribuit un nume pin-ului corespunzator: buttonPin, led1Pin,
led2Pin, led3Pin, led4Pin, led5Pin, buzzer. De asemenea mi-am definit cateva note muzicale reprezentate de sunete pentru buzzer la diferite frecvente. 
   Variabila count_value a fost incrementata la fiecare accelerare in sus pe axa OZ. 
   Variabila prestate a fost folosita pentru a detecta starea precedenta momentului accelerarii. 
   Variabila command, de tip string reprezinta fie un numar (care va declansa startul numaratorii si care 
reprezinta targetul de flotari), fie "restart" (care are rolul de a restarta numaratoarea, mai exact 
de a stinge LED-urile si de a reseta la 0 valoarea variabilei count_value).
  LED-urile si buzzer-ul au fost setate ca OUTPUT. 
  Pentru a monitoriza valorile aratate de accelerometru am folosit si o variabila event de tip sensors_event_t. 

Rezultate obtinute

Concluzii

Download

Bibliografie/Resurse

pm/prj2021/dbrigalda/pushup_counter.1622756133.txt.gz · Last modified: 2021/06/04 00:35 by eduard.tudor
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