Bonsoir à tous !
J'ai depuis quelques temps quelques meubles sega rally sur les bras, l'un d'eux que je vais conserver était en assez bon état. Mais le hardware sega m'a fait un peu peur pour le long terme. Donc j'ai décidé de convertir ma machine en emulation model 2.
Pour ce faire je ne souhaitais pas me séparer des contrôles d'origine. Seul souci, l'ensemble des contrôleurs sega utilisent des potentiomètres 5kO ou 10kO. Il y a la solution d'utiliser une carte de conversion de valeur... mais c’est bien indépendant de l'interface qui devra être en plus derrière.
La solution que j'ai sélectionné se base sur le projet UnoJoy qui permet de transformer le petit module expérimental Arduino Uno en interface joystick HID sous windows et sur ps3.
Le diagramme des boutons reprend donc le schéma d'une manette ps2/ps3.
Au niveau du module, pour ceux qui ne connaissent pas, il s'agit de ça :
![](http://gamoovernet.pixhotel.fr/pics_gamoovernet690px/20121209180022-lipide512-arduino-r3.jpg)
Le arduino en photo est une copie chinoise, le arduino étant une interface universelle et opensource.
Plus d'infos ici :
http://www.arduino.cc/Ça coute actuellement 11.61 euros frais de port inclus sur dealextreme.
http://dx.com/p/funduino-uno-r3-mega328p-board-for-hw-sw-engineers-development-tools-150802Vous disposez basiquement de 6 entrées analogiques et 10 entrées digitales (dans un premier temps)
L'avantage c’est que la lecture sera possible quelque soit le potentiomètre branché (et ça c'est cool !)
![](http://gamoovernet.pixhotel.fr/pics_gamoovernet690px/20121212165332-lipide512-arduino-unojoy.gif)
Dans mon cas je l'utilise pour le volant, les pédales, les boutons start / VR, TEST, SERVICE ainsi que la boite vitesse qui est assignée aux points de vue.
A l'utilisation, c'est parfait.
La seule différence avec une programmation classique du arduino réside dans la possibilité de le faire reconnaitre directement en périphérique HID (autrement dit en joystick).
Cela nécessite le passage en mode DFU puis le lancement d'une commande BAT. C’est assez simple et facile à mettre en œuvre.
Le lien vers l'excellent projet Unojoy :
http://unojoy.tumblr.com/
LE MINI TUTONotice : Toute l'équipe et moi même ne pourront être pris pour responsables de tous dégâts physiques, financiers ou intellectuels à la suite de la lecture de ce mini-tuto. Les archives nécessaires :
arduino-1.0.3-windows
http://arduino.cc/en/Main/SoftwareJRE – ATMEL Flip Installer - 3.4.5.106
http://code.google.com/p/unojoy/downloads/detail?name=JRE%20-%20Flip%20Installer%20-%203.4.5.106.exeUnoJoyWin-24May2012
http://code.google.com/p/unojoy/downloads/detail?name=UnoJoyWin-24May2012.zipOn commence par installer les softs et
dezipper les archives arduino et unojoy.
![](http://gamoovernet.pixhotel.fr/pics_gamoovernet690px/20121215140551-lipide512-installaltion-drivers.jpg)
Il faut installer le drivers pour le arduino rev3 (celui dispo sur le lien dealextreme)
sous 8 ça peut poser quelques inconvénients parce qu'ils ne sont pas signés. J'ai mis à la fin la procédure pour bypasser ce pb. (j'ai fait le tuto sous
![Cool 8)](http://www.gamoover.net/Forums/Smileys/guntar/cool.gif)
Une fois le drivers installé, le arduino sera configuré par défaut en com3 ...au besoin nous pouvons le passer en com1 si il est libre dans le panneau de config / système / périphériques et arduino -> avancé
S'il reste en com3 bien s'assurer que le arduino est reconnu dans le logiciel de programmation arduino.Nous allons
injecter ou téléverser le code unojoy dans le arduino :
Exécutez arduino.exe dans arduino-1.0.3 et fichier->ouvrir-> sélectionner le fichier « UnoJoyArduinoSample.ino » dans le répertoire unojoywin-> UnoJoyArduinoSample
![](http://gamoovernet.pixhotel.fr/pics_gamoovernet690px/20121215140822-lipide512-interface-arduinoprog.jpg)
- Une fois le code *.ino chargé téléversez !
![](http://gamoovernet.pixhotel.fr/pics_gamoovernet690px/20121215140836-lipide512-televersement.gif)
Installez "atmel_flip" et "atmel_dfu mode" dans le répertoire unojoywin->drivers
(il s'agit de libs nécessaires au passage en mode spécifique pour changer le type de hid du arduino)
- Passez le arduino
en mode DFU en touchant brièvement les pins.
![](http://gamoovernet.pixhotel.fr/pics_gamoovernet690px/20121216145945-lipide512-dfu.jpg)
Rendez vous dans le répertoire unojoy :
- Lancer le ficher « TurnIntoAJoystick.bat »
![](http://gamoovernet.pixhotel.fr/pics_gamoovernet690px/20121215140919-lipide512-turn.gif)
Deux séquences se lancent successivement, la seconde est dédiée spécifiquement à notre arduino Uno R3 : 0 erreur, c'est un succès !:)
Si vous rencontrez une erreur assurez vous d'avoir tout fait dans l'ordre.Plus qu'à débrancher et rebrancher le arduino du port usb et il est reconnu comme un joystick dans le panneau de configuration, aucun driver n'est nécessaire.
![](http://gamoovernet.pixhotel.fr/pics_gamoovernet690px/20121215141020-lipide512-unojoy-interface.gif)
Les interfaces digitales sont les boutons - pour les faire agir, il faut faire un circuit entre le GND de la même colonne et un des boutons...
Pour l'analogique :Il faut apporter le +5 de la colonne A, le brancher à une extrémité du bornier du potentiomètre et prendre la masse à l'autre extrémité. La pin du milieu qui nous servira de curseur sera la valeur du potentiomètre en fonction de sa position : elle sera reliée sur le bornier de A0 à A5... selon l'axe que l'on veut piloter.
![](http://gamoovernet.pixhotel.fr/pics_gamoovernet690px/20121212165413-lipide512-curseur.gif)
Vous pouvez inverser la valeur en inversant +5V et GND.
FAQ :Le arduino reboote ou plante :Il s'agit d'une mauvaise connexion et d'un court circuit franc.
Vous comprendrez qu'il vaut mieux éviter.
L'usb clignote ... raison idem ci-dessus
Le arduino est vu comme un joystick mais ne répond à rien même à un test sur un port digital:c’est que la séquence de téléversement a dû échouer. Assurez vous bien qu'elle est un succès.
Le arduino ne répond pas normalement aux contrôles analogiques dans le panneaux de configuration :cela vient du fait que le arduino n'a pas de valeur d'entrée sur des pins analogiques. Ce n'est pas un problème tant que vous sélectionnez un axe exploitable pour votre application. Il faut faire la bonne combinaison selon votre utilisation.
La plage d'utilisation n'est pas bonne :Faites un calibrage sous windows dans le panneau de configuration.
Certains jeux/roms accélèrent ou freinent tout seul:Il faut inverser l'axe dans la configuration de l'émulateur / jeu ou intervertir les +5V et la masse du potentiomètre incriminé... sous mame certaines roms exploitent la valeur du potentiomètre à l'envers... c'est étrange mais je l'ai remarqué - il faudra les configurer séparément
Voilà.
![=:))](http://www.gamoover.net/Forums/Smileys/guntar/stupidking.gif)
Drivers Arduino non certifiés et windows 8, voici la procédure en VO :
I have come up with an alternative method to install the Arduino drivers on Windows 8.
This method does not require new driver files or installation of a test signature.
1. Windows Key + R
2. Enter shutdown.exe /r /o /f /t 00
3. Click the "OK" button
4. System will restart to a "Choose an option" screen
5. Select "Troubleshoot" from "Choose an option" screen
6. Select "Advanced options" from "Troubleshoot" screen
7. Select "Windows Startup Settings" from "Advanced options" screen
8. Click "Restart" button
9. System will restart to "Advanced Boot Options" screen
10. Select "Disable Driver Signature Enforcement"
11. Once the system starts, install the Arduino drivers as you would on Windows 7