This shows you the differences between two versions of the page.
pm:prj2021:dbrigalda:lolinput [2021/04/25 15:52] cristian.scarlat |
pm:prj2021:dbrigalda:lolinput [2021/06/01 16:30] (current) cristian.scarlat |
||
---|---|---|---|
Line 1: | Line 1: | ||
======Mini tastatură + mouse====== | ======Mini tastatură + mouse====== | ||
- | <note tip>E-mail contact: cristian.scarlat@stud.acs.upb.ro</note> | + | |
+ | ======Scarlat Cristian, 336CC====== | ||
+ | <note tip> | ||
+ | Nume și Grupa: Scarlat Cristian 336CC | ||
+ | |||
+ | E-mail contact: cristian.scarlat@stud.acs.upb.ro | ||
+ | </note> | ||
=====Introducere===== | =====Introducere===== | ||
Line 20: | Line 26: | ||
====Schemă bloc==== | ====Schemă bloc==== | ||
- | {{:pm:prj2021:dbrigalda:pm.jpg|}} | + | {{:pm:prj2021:dbrigalda:schema_bloc_tastatura_mouse.jpg|}} |
====Descriere schemă bloc==== | ====Descriere schemă bloc==== | ||
- | TODO | + | Utilizatorul se va folosi de butoane/joystick/senzorul de distanță pentru a trimite input către Arduino. Arduino preia apăsările de buton, mișcările joystick-ului și distanța citită de senzor și le va trimite către un program python. În programul python mă voi folosi de librăriile "mouse" și "autogui" pentru a simula apăsări de tastă, mișcarea mouse-ului, click-ul mouse-ului și scroll-ul mouse-ului. În timpul jocului de League of Legends aceste input-uri vor fi preluate de joc și se vor executa acțiuni precum mișcare player sau spell cast. |
=====Hardware design===== | =====Hardware design===== | ||
Line 31: | Line 37: | ||
* Senzor de distanță | * Senzor de distanță | ||
* Joystick | * Joystick | ||
- | * 6-8 butoane | + | * 7 butoane |
+ | |||
+ | ====Schemă electrică==== | ||
+ | {{:pm:prj2021:dbrigalda:mini_tastatura_mouse_schema_electrica.jpg?300|}} | ||
=====Software design===== | =====Software design===== | ||
- | TODO | + | Pentru realizarea proiectului am folosit Arduino IDE și Python |
+ | |||
+ | Biblioteci folosite: | ||
+ | - pyautogui | ||
+ | - pydirectinput | ||
+ | - serial | ||
+ | (+ driver CH340g Windows 8+ pentru Arduino ) | ||
+ | |||
+ | Codul proiectului este împărțit între Arduino și Python. În codul Arduino se citesc input-urile de pe breadboard și | ||
+ | se transmit prin interfața serială către Python. Python citește input-urile și le execută folosind bibliotecile | ||
+ | pyautogui și pydirectinput. Deoarece League of Legends (împreună cu alte jocuri) nu poate fi controlat de către input-uri | ||
+ | simulate, am putut folosi pyautogui doar pentru mouse. Pentru tastatură am folosit pydirectinput. | ||
=====Rezultate obținute===== | =====Rezultate obținute===== | ||
- | TODO | + | Proiectul asamblat: |
+ | |||
+ | |||
+ | {{:pm:prj2021:dbrigalda:mini_tastatura_mouse.jpg?300|}} | ||
+ | |||
+ | [[https://www.youtube.com/watch?v=wo66KUDoEE0&ab_channel=CristianScarlat|{{:pm:prj2021:dbrigalda:mini_tastatura_mouse_yt_video.png?300|}}]] | ||
=====Concluzii===== | =====Concluzii===== | ||
- | TODO | + | Joystick-ul este foarte puțin precis și nu poate fi manevrat ușor. Senzorul de distanță nu este nici el perfect, dar este mult |
+ | mai ok decât joystick-ul. În ceea ce privește codul, a trecut ceva timp pana sa descopăr că unele jocuri nu acceptă input-uri simulate, | ||
+ | ceea ce a dus la rescrierea logicii pentru tastatură. În rest totul a decurs bine și am fost pregătit datorită laboratoarelor. | ||
=====Download===== | =====Download===== | ||
- | TODO | + | Arhiva cu script-uri și poze: {{:pm:prj2021:dbrigalda:scarlat_cristian_336cc.zip|}} |
=====Bibliografie/Resurse===== | =====Bibliografie/Resurse===== | ||
Documentația în format <html><a class="media mediafile mf_pdf" href="?do=export_pdf">PDF</a></html> | Documentația în format <html><a class="media mediafile mf_pdf" href="?do=export_pdf">PDF</a></html> |