Le shifter du G25 en USB avec un Arduino

Rédigé par Tonton Ayo Aucun commentaire
Classé dans : gaming, simracing Mots clés : g25, shifter, arduino,

Dans l’optique d’actualiser mon matériel de simracing (ou plutôt, de repassé a la caisse…), je pensais à moyen/long terme de changer de volant (actuellement un G25) mais ce n’est pas la priorité, ce sera dans un second temps quand l’installation globale sera fini.

Néanmoins, vu que les constructeurs de shifter (boitier de vitesse en H) se gavent sur les prix (thrustmaster TH8a ou Fanatec Clubsport shifter par exemple) et que finalement celui du G25 me satisfait amplement, j’ai recherché un moyen de l’utiliser indépendamment du volant pour le brancher en USB par exemple.

Il existe un adaptateur déjà tout fait que l’ont peut trouver ici : http://www.leobodnar.com/shop/index.php?main_page=product_info&products_id=188

Mais… en cherchant bien il est possible de le fabriquer soit même pour à peut près 15€ et mon coté bidouilleur m’a orienté plutôt vers cette solution.

Après quelques recherches sur internet, on trouve pas mal d’infos, de pseudo tuto obsolètes où il manque pleins de photo et des vidéo youtube mais rien de concret ou d’utilisable pour les néophytes du coup j’ai compilé tout ça et tonton va vous donné la recette en FR.

1. Ce qu’il faut

- Pour l’interface USB, on va se servir d’un clone Arduino Leonard mais en mini : https://www.amazon.fr/gp/product/B01D0OI90U/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1
- Il faut aussi une prise DB9 mâle
- Du fil électrique

Moi j’ai fait des soudures direct, sourdures dégeulasses certe mais fonctionnelle, âpres chacun fait ce qu’il veut.

2. Assemblage

Alors, nous allons relier les pins de la prise DB9 vers les ports de l’Arduino comme ceci :

- Pin 1 DB9 vers VCC +5v Arduino
- Pin 2 DB9 vers Pin 14 Arduino
- Pin 3 DB9 vers Pin 16 Arduino
- Pin 4 DB9 vers Pin A0 (PWM) Arduino
- Pin 5 VIDE
- Pin 6 DB9 vers GND (masse) Arduino
- Pin 7 DB9 vers Pin 10 Arduino
- Pin 8 DB9 vers Pin A1 (PWM) Arduino
- Pin 9 VIDE

Voici un schéma vue de face de la prise DB9 :

Attention, pour un G27 c'est different :

- Pin 1 DB9 vers Pin 10 Arduino (horloge)
- Pin 2 DB9 vers Pin 14 Arduino (Data)
- Pin 3 DB9 vers Pin 16 Arduino (boutton mode)
- Pin 4 DB9 vers Pin A0 (PWM) Arduino
- Pin 5 VIDE
- Pin 6 DB9 vers GND (masse) Arduino
- Pin 7 DB9 vers VCC +5v Arduino
- Pin 8 DB9 vers Pin A1 (PWM) Arduino
- Pin 9 vers VCC +5v Arduino

J'ai pas testé, j'ai pas de G27 mais c'est cohérent. On a donc juste la pin VCC et l'horloge d'inversé.

3. Le Code

Bon, après avoir téléchargé et lancer Arduino IDE (https://www.arduino.cc/en/software), nous allons y injecter le code que vous trouverez ici : LE CODE

J’ai récupéré ce code sur github mais j’ai viré le support du pédalier car ba je m’en fou :-) . Vous pouvez trouver l’original ici : https://github.com/Ziome3eg/G25_Pedals_and_Shifter

Vous aurez besoin aussi de la librairie « Joystick.h » que vous pouvez télécharger ici : https://github.com/MHeironimus/ArduinoJoystickLibrary/releases ou la .

Pour l’inséré dans Arduino IDE, tout se passe dans le menu « Croquis > inclure une bibliothèque > Ajouté une bibliothèque .ZIP » et la vous allez chercher le fichier zip précédemment téléchargé.

A savoir que j’ai du étalonner rapidement a la main dans le code les rapports en H, le levier étant reconnu comme un joystick avec des axes et chaque vitesses enclenché est en fait une « zone » de ce joystick bref, j’ai du touché aux valeurs des axes :

#define SHIFTER_X_12 320 //valeur zone gauche -
#define SHIFTER_X_56 600 //valeur zone droite +
#define SHIFTER_Y_135 700 //valeur zone haute +
#define SHIFTER_Y_246 300 //valeur zone basse -

Faites des essaies, vous comprendrez vite ^^.

4. En conclusion

En principe ça fonctionne directement. Si vous voulez plus d’infos complémentaires, hésitez pas a laisser vos commentaires.

Écrire un commentaire

Capcha
Entrez le code de l'image

Fil RSS des commentaires de cet article