HID con Arduino
Una periferica HID(human interface device) è un'oggetto che collegato ad un calcolatore, permette ad una persona di controllarlo in diversi modi. Oggi molti device HID sono joypad e controller per svariati software e videogiochi. In questo tutorial spiegerò come creare un joypad con Arduino ed il progetto UnoJoy. Grazie ai programmatori del progetto UnoJoy, potremmo creare migliaia di controller diversi, adatti alle nostre esigenze più disparate. In questo caso presenterò un caso generale con 2 pulsanti ed un potenziometro.
Il materiale qui presentato non è opera mia, ma questo tutorial è stato creato poichè in rete è reperibile poco e niente su questo progetto in lingua italiana. Per ulteriori informazioni vi è il wiki ufficiale di UnoJoy a questo link.
Occorrente
- Arduino Uno/Leonardo/Mega
- Pulsanti e potenziometri
- Alcune resistenze da 220 Ohm
- Breadboard e cavetti di varie misure
Inoltre è necessario scaricare il pacchetto UnoJoy da
questo link.
oppure
Questo è per windows
Scaricate il pacchetto corretto, sia per sistema operativo, sia per scheda arduino.
Schema
|
clicca per ingrandire |
Come potete notare lo schema è molto semplice, ai pin digitali dal 2 al 12 si possono collegare pulsanti, anche nell'ingresso analogico 5. Mentre negli ingressi A0,A1,A2,A3 possono essere posizionati sensori o, in questo caso, un potenziometro. Io consiglio di collegare al GND gli ingressi analogici non utilizzati, per possibili problemi di configurazione software in seguito.
Come fare
Per prima cosa, scompattate l'archivio scaricato. Collegare l'Arduino al PC e caricare lo sketch che si trova nella cartella UnoJoyArduinoSample. Se esaminate il codice, potete notare come sia emulato un classico joypad da PS3, con 2 analogici, un D-Pad ed i pulsanti vari. Dopo aver caricato il codice, con l'arduino collegato al pc, mettere in contatto i due pin mostrati in foto.
In questo modo entrerà in modalità DFU e potremmo caricare la modifica al bootloader che farà riconoscere Arduino al PC come periferica di gioco. Prima di tutto installiamo i driver presenti nella cartella "drivers" di UnoJoy.
Per caricare il bootloader modificato, ci basterà eseguire il file TurnIntoAJoystick.bat all'interno dello zip di UnoJoy. In seguito basterà scollegare l'arduino e ricollegarlo, ed il pc automaticamente lo riconoscerà come joypad.
Per tornare ad utilizzare normalmente arduino, basterà entrare in modalità DFU ed eseguire il file TurnIntoAnArduino.bat .
Se prima di caricare il bootloader, volete verificare a che tasti corrispondono i pulsanti e sensori che avete collegato ad Arduino, eseguite il programma nella cartella "UnoJoyProcessingVisualizer" e testate i collegamenti.
Spero di avervi aiutato, al prossimo tutorial!