Hand gesture control video player

Introducere

Un player video are 2 opțiuni foarte importante, derularea înainte și înapoi a videoclipului, precum și modificarea volumului. Cu ajutorul proiectului ales de mine voi putea să controlez aceste 2 funcții prin mișcarea mâinii.

Ideea de la care am pornit a fost implementarea de către BMW a acestei opțiuni de control prin mișcare a mâinii a tabletei mașinii la modelele noi produse.

Consider că proiectul este util deoarece atunci când privim un videoclip de cele mai multe ori stăm confortabil și este mai greu să întindem mâna după mouse.

Descriere generală

Voi folosi 2 senzori ultrasonici pe care îi voi conecta la plăcuța arduino. Unul dintre senzori va fi pentru a derula videoclipul înainte și înapoi, iar celălalt va fi pentru a modifica sonorul.
Atunci când voi apropia mâna de senzorul de sonor, volumul va crește, iar când voi depărta mâna volumul va scădea. Identic va fi și senzorul pentru derulare.

capture.jpg

Hardware Design

Lista de piese:

  • Arduino Leonardo
  • 2 senzori HC-SR04
  • breadboard
  • fire

Software Design

  • Pentru partea de software am folosit mediul de dezvoltare Arduino.
  • Pentru inceput, am inclus biblioteca Keyboard.h si mi-am definit pinii folositi pentru cei 2 senzori. De asemenea, am declarat si variabilele globale necesare(am incercat sa limitez cat mai mult folosirea de variabile globale).
  • Prima si cea mai importanta functie pe care am implementat-o a fost cea care calculeaza distanta la fiecare senzor HC-SR04. Pentru a calcula aceasta distanta, folosesc functia pulseIn pentru a calcula timpul necesar primirii unui impuls si apoi ma folosesc de viteza sunetului pentru a calcula distanta.
  • In functia de setup, setez starea pinilor celor doi senzori(INPUT sau OUTPUT).
  • Pentru ca arduino-ul sa fie vazut de catre PC ca o tastatura, am folosit biblioteca Keyboard.h mentionata mai sus. Astfel, in functia de loop, verific distanta fata de cei doi senzori a mainii si, in functie de modul de functionare, simulez apasare unei taste cu functiile Keyboard.press(tasta) si Keyboard.release(tasta).

Rezultate Obţinute

proiect_theo_paraschiv.jpeg nava_spatiala.jpeg dani.jpeg

Concluzii

Nu mi-am batut foarte mult capul cu acest proiect(dupa cum a zis si Dan Tudose la curs, nu vanez note). Am vrut sa aleg ceva destul de simplu de facut, dar care sa fie si interesant.

Din nefericire, mi-am comandat initial un Arduino Uno care nu suporta folosirea bibliotecii Keyboard.h, astfel ca mai tarziu a trebuit sa imi comand si un Arduino Leonardo(a fost vina mea deoarece nu m-am documentat mai mult inainte).

Download

Jurnal

  • 23.04: Alegere tema
  • 07.05: Comanda de pe Cleste
  • 07.05: Crearea paginii de wiki
  • 10.05: Comanda de pe Emag
  • 14.05: Asamblare hardware
  • 21.05: Implementare partiala software
  • 22.05: A doua comanda de pe cleste
  • 27.05: Reasamblare hardware cu noul Arduino
  • 28.05: Terminare software + testare
  • 30.05: Terminare pagina wiki

Bibliografie/Resurse

pm/prj2023/razvans/hand_gesture_control_video.txt · Last modified: 2023/05/30 13:41 by theodor.paraschiv
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