Arduino – Logitech G27 Shifter a USB

Vamos a convertir un shifter del g27 a usb con una placa arduino.

NOTA Importante: Compilar con la versión 1.6.9 del IDE de Arduino.

Dejo el link a continuación.

https://www.arduino.cc/download_handler.php?f=/arduino-1.6.9-windows.zip

Cuando compré el thrustmaster t300 alcantara me quedé sin poder utilizar el cambio de marchas que tenia con el Logitech G27 y la opción de comprar la Thrustmaster TH8A pues como que no me apetecía por su precio y por que tenia la del g27 tirada por ahí.

Pensé en la opción de comprar el adaptador de Leo Bodnar para el shifter, de hecho iba a comprarlo hasta que entré en la pagina y lo tenían fuera de stock, en ese momento me puse a rebuscar un poco por Internet y encontré la solución, para variar con un Arduino.

Voy a explicar paso a paso como he hecho para tener este adaptador por menos de 13€.

Antes de nada voy poner los links a las páginas en las que me basé para hacer el aparato, ya que lo único que hice yo es montarlo.

La primera de las paginas se basa en el proyecto de la segunda pagina, el cual utiliza dos db9 y mete con una controladora el shifter mas los pedales. Yo como ya tenía el adaptador Leo Bodnar para los pedales solo quería la parte del Shifter.

https://www.xsimulator.net/community/threads/g27-shifter-and-buttons-standalone-usb.9654/

https://github.com/functionreturnfunction/G27_Pedals_and_Shifter

Los componentes necesarios para el proyecto son los siguientes:

Pro Micro ATmega32U4 5V 16MHz (Sparkfun clone) Link a Amazon.es

La peculiaridad de este arduino es que se puede configurar como un mando de juegos, el Windows lo detecta como un mando.

Conector DB9 Macho

Caja de electrónica de plástico

Tanto la caja como el conector DB9 y los cables se pueden conseguir en cualquier tienda de electrónica a un precio bajísimo, el DB9 creo recordar que me costó 0,40€ y la caja no llegó al euro.

Las soldaduras quedarían de la siguiente manera:

Quedaria asi:

Igual que a la persona del primer post en el que me basé, mi clon del promicro de sparkfun tiene los pines 0 y 1 intercambiados, osea que hay que intercambiar los pines 0 y 1 del gráfico anterior por el lado del pro micro. El 1 del db9 va al 1 de la pro micro y el 2 del db9 va al 0 de la pro micro.

Ahora tocaría soldar, con la ayuda de mi compañero de trabajo, yo soy penoso soldando, la cosa quedó así.

Después, simplemente coger la cajita y hacerle los agujeros para el DB9, ya sea con limas, dremel o lo que querais.

Lo siguiente sería instalar el Arduino IDE de la siguiente página:

Nota: con versiones superiores a la 1.6.9 puede dar problemas al compilar.

https://www.arduino.cc/download_handler.php?f=/arduino-1.6.9-windows.zip

Despues instalamos las librerías de sparkfun en el IDE de arduino. Está perfectamente explicado en la pagina de github de sparkfun que os dejo a continuación.

https://github.com/sparkfun/Arduino_Boards

Una vez está correctamente instalado el IDEy las librerias de sparkfun lo único que hay que hacer es meter en las librerias de arduino los siguientes ficheros:

https://www.racingsimulator.es/wp-content/uploads/G27PedalsShifter.cpp

https://www.racingsimulator.es/wp-content/uploads/G27PedalsShifter.h

Creáis una carpeta en las librerías de arduino llamada G27_SHIFTER_USB y metéis esos 2 ficheros dentro. (La carpeta de las librerías suele estar en “mis documentos\arduino\librarys”)

Despues se crea un nuevo proyecto y agregais el codigo del siguiente fichero:

https://www.racingsimulator.es/wp-content/uploads/G27_Shifter_USB.ino

Configuramos el Hardware en el IDE. Vamos a herramientas y elegimos la placa sparkfun micro 5v 16mhz y el puerto serie que está utilizando.

Compilamos el proyecto y lo subimos al Arduino y ya queda listo.

Enchufamos la Palanca de cambios y ya la podemos configurar en los juegos. El pc nos la detecta como un dispositivo de juegos nuevo.

En la siguiente foto meto primera marcha y pulso botones al azar, funcionan todos los botones de la palanca.

Un Saludo, espero que le resulte de utilidad a alguien.

Cualquier duda podéis dejar comentarios o contactarme vía twitter.