Alina-Andreea PÎRLOG (67470) - Computer gesture control

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Istoric: Nu ne putem imagina o zi în care să nu folosim computerul. Acesta a devenit parte din realitatea noastra zilnica. Implicit, zilnic folosim și mouse-ul, element indispensabil oricărui computer, fie sub forma de touchpad sau varianta wireless.

Scopul acestui proiect este de a realiza un mouse care nu are nevoie de o suprafata plata pentru a functiona si misca cursorul in concordanta cu miscarile naturale ale mainii.

Produsul final isi propune sa depaseasca mouse-ul obisnuit prin confort in utilizare si portabilitate.

Descriere generală

Descriere componente si rolul lor

  • modulul bluetooth master slave HC-05 are rolul de a transmite datele pe un post serial al PC-ului;
  • MPU 6500 este un modul accelerometru cu giroscop care este responsabil cu masurarea coordonatelor pe cele trei axe ale acestuia;
  • 1 buton push pentru a putea da click dreapta.

Utilizatorul interactioneaza cu MPU 6500. Modulul inregistreaza incontinuu date pe care le trimite apoi catre microcontroler. Aceasta constata pe ce axa s-au efectuat miscari si trimite prin HC-05 catre PC anumite flag-uri. Exista si boton pentru click dreapta. Executabilul jar de java va rula pe PC. Acesta citeste informatiile trimise pe portul la care se conecteaza prin bluetooth placuta, interpreteaza informatia si actioneaza cursorul in concordanta.

Hardware Design

Software Design

Mediu de dezvoltare

Biblioteci folosite

  • mpu6050.c, mpu6050.h, mpu6050dmp6.c, mpu6050registers.h pentru interfatarea cu accelerometrul
  • i2chw pentru realizarea comunicatiei intre accelerometru si microcontroller prin interfata i2c
  • usart.h, usart.c pentru comunicarea cu PC-ul(din laborator)

Descrierea codului

Coordonatele mouse-lui sunt procesate de microcontroler. Acesta trimite niste flag-uri prin UART catre un port al laptopului prin bluetooth serial. Pe PC ruleaza un executabil Java(jar file) care asculta informatia primita pe portul serial si modifica coordonatele cursorului in functie de flaguri.

Rezultate Obţinute

Datele de la accelerometru sunt preluate si procesate corect. Ele sunt transmise mai departe prin bluetooth. Calculatorul primeste datele corect si continuu.
Nu am reusit inca sa preiau datele prin executabilul de java. Am facut putin cercetare online si aparent exista co problema la monitorizarea porturilor seriale outgoing pentru bluetooth. Am refacut proiectul pe o placuta Arduino UNO care transmite datele prin usb. Programul le preia corect si misca mouse-ul in concordanta.

Concluzii

Am invatat in cadrul acestui proiect, sa ma descurc cu cat mai putine informatii si sa realizez interfatarea unui dispozitiv cu PC-ul printr-un port serial. Am aflat de asemeanea de asemenea ca java nu poate intotdeauna sa monitorizeze datele de pe porturi seriale.

Download

Jurnal

TODOs

  • hotararea asupra unei idei de proiect (done)
  • lipirea componentelor de baza (done)
  • hotararea asupra componetelor suplimentare (done)
  • 1 module bluetooth, 1 accelerometre (done)
  • interconectarea componentelor (done)
  • Software placuta(done) :-D
  • Software PC-work in progress =)

Bibliografie/Resurse

pm/prj2017/avoinescu/computer-gesture-control.txt · Last modified: 2021/04/14 17:07 (external edit)
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