Ciao a tutti, in questo articolo andremo a realizzare un progetto con Arduino. Nello specifico realizzeremo un volante che simula un joystick.
Andremo a costruire un controller che è possibile utilizzare su Steam.
Steam è una piattaforma sviluppata da Valve che si occupa di distribuzione digitale, di gestione dei diritti digitali, di modalità di gioco multi giocatore e di comunicazione.
Ho deciso di realizzare questo progetto perché sono un appassionato di corse.
Poiché giocare con la tastiera oppure con un joystick diventava sempre più noioso, ho cercato su amazon per compare un simulatore di guida però i prezzi erano un po’ alti.
Per qualche giorno ho pensato come realizzare un simulatore di guida con costi minori e girovagando su internet mi è venuta un’idea.
Adesso sono qui per esporvela, spero vi piaccia.
Se avete dei consigli su come migliorare questo progetto non esitate a contattarmi
Come trasformare Arduino in un Controller ?
L’articolo prevede di flashare il chip di comunicazione di Arduino per renderlo riconoscibile come un gamepad USB. La procedura è sicura e reversibile; tuttavia io non mi assumo alcuna responsabilità in caso di problemi o malfunzionamenti.
Come prima cosa scaricate l’ultima versione di UnoJoy, una libreria che grazie ad un apposito firmware trasformerà Arduino in un dispositivo rilevabile come un joystick USB. Per utilizzare UnoJoy occorre come prima cosa installare gli appositi driver eseguendo il file InstallUnoJoyDrivers.bat che trovate nella cartella precedentemente scaricata.
Bisogna anche installare l’ATmel FLIP tool che servirà alla nostra libreria “UnoJoy” per poter flashare il firmware sul chip di comunicazione di Arduino.
Come caricare il firmware su Arduino ?
Come prima cosa occorre mettere Arduino in modalità DFU (Device Firmware Update) facendo un contatto tra i due pin più a sinistra del gruppo di sei pin sporgenti che si trovano accanto alla presa USB ( potete vedere i due pin in figura ) in questo modo abbiamo flashato il firmware su Arduino.
Facendo un contatto tra questi due pin i vari led di Arduino si illumineranno per una breve durata di tempo. Adesso bisogna eseguire il file di UnoJoy TurnIntoAJoystick.bat , e dopo aver disconnesso e riconnesso Arduino a computer, questo verrà rilevato come JoyStick invece che come Arduino. Per tornare ad avere un Arduino standard la procedura è identica, ma il file da eseguire questa volta è TurnIntoAnArduino.bat .
![dfu Arduino uno](https://www.ingeimaks.it/wp-content/uploads/2023/03/dfu-1024x765.webp)
Costruiamo un semplice controller
Per costruire un controller , andremo a costruire un volante, ci servirà un potenziometro da 10K ohm collegato sul pin A0 (vedi figura in basso). Invece come codice dobbiamo utilizzare la libreria UnoJoy quindi occorre copiare il file UnoJoy.h nella cartella dove andrete a salvare lo sketch (Vedere il video su YouTube).
![potenziometro](https://www.ingeimaks.it/wp-content/uploads/2023/03/potenziometro-jpg.webp)
Come giocare su Steam ?
La maggior parte dei giochi su Steam riconosce come gamepad quello di XBOX360, esiste un programma capace di mappare un qualunque controller USB su un gamepad per XBOX360 virtuale: x360ce. Scaricate la versione a 64bit o a 32bit a seconda del vostro gioco.
Una volta estratto, copiate il file x360ce.exe nella cartella contenente l’eseguibile del gioco, fate partire x360ce.exe che avete appena copiato e questo riconoscerà la presenza di un JoyStick USB.
![x360.ce_](https://www.ingeimaks.it/wp-content/uploads/2023/03/x360.ce_.d110a0.webp)
Se volete costruire anche un volante controller ho realizzato un video tutorial sul mio canale YouTube.