Proiectul reprezinta un joystick si un set de butoane. Inputul de la joystick va fi mapat la inputul mouse-lui din Windows. Butoanele vor avea rolul butoanelor a mouse-lui (LMB, MMB, RMB). De asemenea, va fi realizat un program à la Paint, in care, cu ajutorul butoanelor, voi putea alege diverse culori pentru desenare.
Arduino va primi input-ul de la butoane si stick-ul analog, si va transmite prin USART datele catre PC pe care va rula un program ce va mapa datele primite in input pentru Windows. De asemenea, se va putea rula un program aditional (Paint), care va demonstra interpretarea datelor la apasarea butoanelor.
Setul de butoane si functiile acestora:
Pin | Mapare | Functie paint |
---|---|---|
PD2 | LMB | Desenare |
PD3 | RMB | Stergere |
PD4 | 1 | Selecteaza culoearea neagra |
PD5 | 2 | Selecteaza culoearea rosie |
PD6 | 3 | Selecteaza culoearea verde |
PB0 | 4 | Selecteaza culoearea albastra |
PB1 | S | Salveaza pagina curenta (screenshot) |
PB2 | N | Pagina noua |
PB3 | MMB |
Placa Arduino realizeaza citirea input-ului de pe setul de butoane si de pe stick-ul analog. Cand se apasa un buton, pe serial se scrie pinul la care este conectat butonul apasat. Cand se da drumul la buton, pe serial se scrie pin-ul respectiv negat. De exemplu, daca se face click pe butonul conectat la pinul 2, la serial se va afisa 2
urmat de un -2
.
Inputul de pe stick se citeste in continuu, si se transmite prin serial la o rata de 125Hz.
Datele de pe serial sunt preluate si citite de un program C++, care, in dependenta de datele primite, mapeaza inputul de pe Arduino catre input de Windows.
S-a realizat cu succes un ansamblu hardware-software care permite manipularea cu PC-ul host.
S-a realizat cu succes un ansamblu hardware-software care permite manipularea cu PC-ul host.
Demo: https://drive.google.com/file/d/16WtuUW7-LhhcUb5IjO6sBqxcnq8S7BG7/view?usp=sharing
Arhiva: cazanov_veaceslav_pm_v1.zip