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.
Hardware Design
Lista de piese:
Arduino Leonardo
2 senzori HC-SR04
breadboard
fire
Software Design
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.
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
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