Botonera de Sim Racing con Arduino

En este artículo te enseño como crear tu propia botonera de Sim Racing con Arduino y SimHub.

Introducción

No sé si te has fijado alguna vez en vídeos de Sim Racers de alto nivel y profesionales.

Todos utilizan botoneras, estas son cajas llenas de botones e interruptores que permiten hacer ajustes en el coche a tiempo real: Ajustar el soplado del turbo, reparto de frenada, quitar o poner el ABS…

Cualquier función que se te ocurra puede ser ajustada, tal como en un coche de carreras real:

Interior de un Peugeot 205 T16 del Grupo B de Rally.

Y es que, aunque tengas botones en el propio volante, estos están en constante movimiento, no siempre se pueden alcanzar en el momento exacto.

Tiene sentido tener un lugar estático donde poder poner la mano y hacer ajustes en los momentos más cruciales.

Es por ello que, después de hacer algunos mods a mi volante G29, he decidido experimentar y hacer una pequeña botonera artesanal utilizando Arduino, Simhub y una Impresora 3D.

Concretamente esta de aquí:

En este artículo te voy a dar todos los detalles para que tú también puedas hacerte tu propia botonera casera con Arduino.

Hardware de una botonera

Lo primero es lo más importante, para hacer una botonera necesitaremos hardware.

Con esto me refiero, por un lado a la placa de Arduino que vamos a utilizar y los botones, pantallas y encoders que queramos usar.

Respecto a Arduino, se puede utilizar cualquiera, aunque realmente lo veo dividido en dos grupos.

Existen aquellas placas como Leonardo que nos permiten emular un teclado por hardware, es decir, que una vez enchufado el PC lo detecte como un input donde cada botón representa un comando, y por otro lado tenemos el resto.

El resto de Arduinos, como el Nano, Windows es incapaz de detectarlos como un teclado, por lo que los inputs y como son leídos varían.

Para el resto de Arduinos se debe utilizar el software SimHub, que nos permite gestionar dispositivos de SimRacing y Arduinos empleados para la labor.

Según el tipo de placa que quieras utilizar tienes varias opciones, si quieres emular un teclado puedes hacer toda la labor por código desde el IDE de Arduino.

Sin embargo yo he optado por un Arduino Nano.

El Arduino Nano es pequeño, por lo que entra en cualquier diseño y tiene la cantidad suficiente de inputs para hacer este proyecto, combinado con la capacidad de SimHub se pueden hacer grandes cosas.

A nivel de piezas que quieras utilizar, lo cierto es que la imaginación es el límite.

Puedes utilizar matrices de leds, pantallas I2C, botones, relojes e incluso el cuadro de instrumentos de un BMW E36.

Yo he decidido utilizar un par de botones simples, no necesito grandes ajustes, solamente poder cambiar los ajustes del ABS y TC.

Para ello he soldado dos botones a la placa, D2 y D4, junto a su ground.

He usado botones de dos terminales, aunque puedes usar también de 3.

Software para botonera: Simhub

SimHub es un software increíble, solo puedo describirlo así.

Un software que te permite gestionar y configurar todos tus aparatos de SimRacing y además crear los tuyos propios.

No me refiero solamente a botoneras, que es un uso, también a Shiftlights, Clusters como el que hemos visto anteriormente e incluso, podemos ir más lejos y crear sistemas de movimiento y vibración para nuestro rig de simulación.

Pero bueno, comencemos con lo básico, como ajustar la botonera.

Hay dos puntos clave, la creación del sketch (y su subida a la placa) y la configuración de los botones.

Para crear el sketch deberemos ir al programa: Menú Izquierdo –> Arduino –> My Hardware –> Single Arduino –> Open Arduino Setup Tool.

En esta ventana podremos poner todo el hardware que queremos usar y en qué pines está conectado.

En mi caso son dos botones, que he soldado en los pines D2 y D4.

Una vez seleccionado todo esto solamente deberemos escribir el sketch en nuestro arduino, la única clave de importancia es seleccionar el firmware que tiene, en mi caso es el bootloader nuevo, y muy probablemente en el tuyo también.

Una vez mapeado esto y subido a nuestro arduino, solamente hará falta configurar los botones.

No cometas el mismo error que me costó varias horas.

Como el Arduino Nano no actúa como teclado a nivel de hardware, no vas a poder configurarlo desde tu simulador, ni Assetto Corsa, ni Live for Speed ni ningún otro.

Se debe utilizar el propio configurador de SimHub, con la ventaja de que este nos permite configurar una sola vez y a partir de ahí nos sirve para todos los simuladores.

Esto se hace desde el apartado Controls and Events:

Diseño de la caja: FreeCAD

Una vez tenemos todo listo a nivel de electrónica y de software, nos faltará solamente hacer un buen diseño.

En mi caso, como has podido ver en el vídeo, he ido a por algo absolutamente minimalista:

En la foto puedes apreciar como mi mano parece gigante al lado de una botonera tan pequeña.

Esto es porque realmente no necesito muchos botones, solamente ABS y Control de Tracción para momentos muy específicos:

Quitar ABS para hacer Drift y poder controlar mejor el ángulo con el freno.

Y poder poner el control de tracción (o ajustarlo) si estoy utilizando coches extremadamente potentes en circuito.

Para hacer este tipo de cajas nos encontraremos que es muy fácil en FreeCAD.

Solamente necesitaremos hacer un sketch para el frontal y otro para el cuerpo.

El frontal necesitará dos aperturas para los botones (que como has visto van sujetos con una tuerca) y el cuerpo deberá ser hueco y sin tapa para meter los componentes.

Para imprimirlo, debido a que es un uso indoor y sin estrés, dará igual el material.

En mi caso he utilizado PLA básico, y como se puede apreciar en la textura de la foto, una boquilla de extrusor de 1.0mm que suelo utilizar para prototipado rápido.

Aunque el acabado no es perfecto, siempre se puede vinilar e incluso forrar en cuero, aunque por mi parte la dejaré tal cual está.

Por supuesto, al no tener tapa trasera es muy fácil colocar todos los componentes y con una pistola de pegamento caliente hacer que la placa quede fija.

Conclusión: ¿Es necesaria una botonera?

Tengo una opinión mezclada en este asunto.

¿Es necesario gastarse 200€ en una botonera profesional? En mi opinión, si no eres profesional, no hace falta.

¿Merece la pena hacer una botonera DIY con Arduino? Aquí es donde tengo una opinión mezclada.

Puedo entender la mejoria en ciertas situaciones o vehículos, por ejemplo, si utilizas regularmente un coche con el turbo ajustable, poder soltar la mano del volante y ajustar el turbo a tu gusto puede ayudarte a reducir unos cuantos segundos en cada vuelta o stage.

Pero realmente le veo más valor en escenarios competitivos, donde ese tipo de maniobras y coches suelen ser utilizados en carreras y competiciones contra otras personas.

Por mi parte, el valor del Sim Racing, es poder poner un mapa como Otarumi, Shomaru o Akina y correr en tramos de montaña completamente solo, haciendo Time Attacks con coches de su época y lugar:

En ese caso aunque veo más la comodidad y no creo que sea algo completamente imprescindible, y es que hasta hace poco tenía memorizados todos los atajos de teclado para cambiar valores.

Sin embargo, por el bajo coste de este proyecto (menos de 10€) lo veo como algo interesante.

Cuestión de comfort quizá.

Lo cierto es que la prueba de concepto es lo interesante, y la cantidad de puertas que esto abre. Usar el cuadro de instrumentos de un BMW e36, o relojes de aftermarket si lo veo como algo que mejora muchísimo más la experiencia.

, , , ,