Differences

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

Link to this comparison view

pm:prj2021:dbrigalda:position-tracking [2021/05/02 21:04]
horia_vlad.onofrei Detaliere
pm:prj2021:dbrigalda:position-tracking [2021/06/04 11:48] (current)
horia_vlad.onofrei [Software Design]
Line 5: Line 5:
   * Scopul este determinarea traseului luat prin observarea datelor din senzorul de miscare. Aceste date de pe MicroSD pot fi apoi luate si folosite pe un calculator pentru plotting 3D.   * Scopul este determinarea traseului luat prin observarea datelor din senzorul de miscare. Aceste date de pe MicroSD pot fi apoi luate si folosite pe un calculator pentru plotting 3D.
  
-  ​* Am inceput de la ideea unui mic aparat care poate urmari o parte a corpului, insa nu suna destul de complex. Am trecut apoi la ideea de tracking de pozitie 3D. +  * Acest proiect ar fi util in cadrul unui sistem de realitate virtuala mai complex, in care e nevoie de tracking 3D precis, ​cu colectarea si procesarea datelor din senzori de miscare.
- +
-  ​* Acest proiect ​mi-ar fi util in caz ca vreau sa ajung sa fac vreun echipament VR care sa necesite un tracking 3D foarte ​precis, ​sau alte idei care implica tracking.+
 ===== Descriere generală ===== ===== Descriere generală =====
-Butonul de start face microcontroller-ul sa inceapa sa ia date de la modulul MPU9250 ​si sa le puna pe cardul microSD. Daca e apasat iar, se opreste.+Butonul de start face o ciclare intre starea ​de preluare date si cea idle.
  
-Datele sunt transmise spre cardul MicroSD.+Initial, sistemul e idle, si se asteapta schimbarea starii, adica nu preia sau trimite date. Este aprins un LED albastru.
  
-{{:​pm:​prj2021:​dbrigalda:​schema_bloc_trpos.png|}}+Cand e apasat prima oara, se trece in starea de preluare date, prin care un LED rosu e aprins. Daca e apasat iar, sau nu mai are spatiu MicroSD-ul, se trece in starea idle iarasi. 
 + 
 +La urmatoarea apasare, se reia ciclul, in starea idle. 
 + 
 +Datele de la MPU9250 sunt comunicate prin protocolul I2C. Acestea apoi sunt puse sa fie scrise intr-un fisier csv, dar care initial ajung intr-un buffer, inainte de scriere. Buffer-ul acesta se goleste atunci cand devine plin sau se inchide fisierul. Astfel, exista o eficienta mare in scrierea datelor pe cardul SD. Datele sunt adaugate in cadrul unui singur fisier, pana ce se schimba starea sau MicroSD-ul e plin. Are loc in starea de preluare date. 
 + 
 +Datele de pe cardul SD pot fi apoi accesate de pe calculator, cel mai probabil printr-un script python, deoarece datele sunt doar pe un fisier csv. 
 + 
 +Atunci cand are loc preluarea datelor de la senzor, un buzzer va face un sunet scurt, dupa fiecare minut trecut. 
 +{{:​pm:​prj2021:​dbrigalda:​tracking_de_pozitie.jpeg|}} 
 +{{:​pm:​prj2021:​dbrigalda:​schema_bloc_trpos2.png|}}
 ===== Hardware Design ===== ===== Hardware Design =====
 Lista de piese: Lista de piese:
   * Placa Arduino compatibila ATmega328   * Placa Arduino compatibila ATmega328
   * Breadboard   * Breadboard
-  * Card MicroSD+  * Modul card MicroSD
   * Modul MPU9250   * Modul MPU9250
-  * Baterii 
   * Modul buzzer activ   * Modul buzzer activ
   * Butoane, LED-uri, fire, rezistente   * Butoane, LED-uri, fire, rezistente
 ===== Software Design ===== ===== Software Design =====
 +Mediul de dezvoltare e Arduino Software (IDE) folosind programatorul AVRISP mkII.
 +Am folosit 2 biblioteci externe, SdFat de la https://​github.com/​greiman/​SdFat pentru lucrul cu cardurile microSD de dimensiuni mai mari de 2gb (si deci, de tip fat32) si MPU9250 de la https://​github.com/​hideakitai/​MPU9250 pentru preluarea de date de la senzor.
 +
 +In afara de handler-ele de intreruperi,​ am implementat si functia care scrie datele intr-un fisier csv.
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
 +Un proiect aproape complet, cu interactiunea MPU9250 - Arduino - MicroSD realizata. Pe cardul SD se pun datele accelerometrului si unghiurile calculate, care apoi pot fi filtrate si folosite intr-un program de gestionare de date (ex: python3)
 ===== Concluzii ===== ===== Concluzii =====
 ===== Download ===== ===== Download =====
 +{{:​pm:​prj2021:​dbrigalda:​onofrei_horia_vlad_335cb_project_pm.zip|}}
 ===== Jurnal ===== ===== Jurnal =====
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
 +[[pm:​prj2021:​dbrigalda:​position-tracking?​do=export_pdf|Export to PDF]]
pm/prj2021/dbrigalda/position-tracking.1619978699.txt.gz · Last modified: 2021/05/02 21:04 by horia_vlad.onofrei
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