Control arcade XBOX con Arduino para PC

 Muchos recordaran aquellos viejos tiempos donde los videojuegos tenían una forma peculiar de jugarse, ello era a través de las palancas y los botones robustos que incorporaban las tan conocidas maquinitas.

En esta entrada vamos a abordar la construcción de un tablero arcade individual partiendo de la programación de un controlador Arduino Micro que se utiliza  comúnmente en el mundo del maker electrónico así que sin mas vamos allá.


¿Como funciona?

Un conjunto de palancas y botones arcade, básicamente es una  interface que transforma las señales mecánicas en pulsos digitales, estos pulsos son entregados a la consola o equipo de computo para realizar la función correspondiente. Actualmente existen interfaces comerciales que podemos adquirir para lograr dicha finalidad, sin embargo es mucho mas interesante construir la nuestra a partir de componentes electrónicos y con un poquito de conocimientos en la materia, podremos construir a nuestro gusto y medida nuestro mando de tipo arcade.

¿Qué necesitamos?

Para llevar a cabo este proyecto, necesitaremos los siguientes materiales

- Placa de desarrollo Arduino Pro micro.

- Kit de botones y palancas.

- Kit de micro swichs.

- Cable calibre 28 de preferencia de colores.

- Soldador tipo lapiz (cauitin).

- Kit de soldadura y Flux.

- Cable usb para nuestro Arduino.

- Una computadora con Windows .

- Los archivos con el software para cargar al arduino.


Procedimiento

Empezaremos por realizar el ensamble de nuestra palanca y botones en la disposición de su gusto y con los materiales que dese, en nuestro caso utilizamos una placa de aluminio y realizamos una disposición de los botones en formato lineal. Nota: en internet encontraras disposiciones de los botones en forma arqueada o en vertical.


Nuestra placa en cuestión tiene las siguientes dimensiones 41.5 X 20.5 CM. Instalamos 6 botones para control y 2 para opciones (Coin, Start, A.B,C,D,E,F)



Vamos a proceder a instalar los micro swich para proceder con el cableado. 


Una vez instalados los microswich en las palancas y los botones, realizaremos el cableado correspondiente.


Como podrás ver en el siguiente diagrama, nuestro mando en cuestión se comportara como si de un control xbox black se tratara, esto con el fin de que nuestros emuladores y juegos sean lo mas compatible posible con nuestro tablero. En el diagrama de conexión también podrás observar cada función que realizara a cabo la placa Arduino al momento de enviar cada señal a tierra (GND).


Por acá les dejo otra versión para conectar los controles a un chip Arduino Pro Micro 32U4

En nuestro caso como mencionamos, solo estamos utilizando 12 funciones, estas son las siguientes en base a las etiquetas del diagrama:

-  Right Analog Down (A0) etiqueta verde

- Right Analog Up (A1) etiqueta verde

- Right Analog Right (A2) etiqueta verde

- Right Analog Left (A3) etiqueta verde

- Select (D8) etiqueta azul

- Start (D7) etiqueta azul

- A (D4) etiqueta azul

- X (D3) etiqueta azul

- B (D2) etiqueta azul

- Y (D1) etiqueta azul

- R (D12) etiqueta azul

- L (D11) etiqueta azul

Es por ello que lo primero que vamos a cablear serán todos los micro swich con un cable a tierra de preferencia color negro o gris que los va a interconectar a todos.


Posteriormente vamos a cablear cada salida de micro swich con un color diferente para identificar fácilmente y conectaremos a nuestra placa Arduino micro.


En el caso de la palanca no olvidemos que los pulsos de los swich salen cruzados ya que al hacer la palanca hacia abajo se presiona el swich de arriba y en el caso de la izquierda se presiona el swich derecho, considerando también este detalle cableamos hacia nuestro Arduino.


Teniendo conectado todo, pasaremos a acomodar nuestro Arduino en la placa aislándolo de que ningún pin toque la superficie metálica en nuestro caso utilizamos cinta 3m doble cara gruesa., luego lo conectamos a la pc para iniciar la programación.


A continuación lo que vamos a realizar será sustituir el firmware de nuestra placa Arduino por el código descargado previamente. Al conectar tu Arduino deberás instalar los drivers correspondientes, en nuestro caso al ser un Arduino genérico el driver es el CH340.

Al instalarse, el sistema nos asignara un puerto de comunicación de tipo Serial COM en nuestro caso el puerto es el COM9.

ya teniendo instalado nuestro Arduino a la pc, procedemos a descomprimir el archivo descargado previamente.


Dentro encontraremos la carpeta XLoader y Hexes, la primera es el programa que utilizaremos para cargar el firmware a nuestro Arduino y en la segunda encontraremos el archivo con extensión hexadecimal que básicamente es el firmware, en este caso abrimos XLoader.exe y dentro del programa en los 3 puntitos buscamos y seleccionamos el archivo XboxPadMicro, seleccionamos nuestro puerto COM y pulsamos upload.



Esto lo que realizara será cargar el firmware correspondiente a nuestra placa conectada.

Nota: en caso de que tu placa tenga instalado otro firmware, lo único que deberás hacer para recargar tu Arduino es ponerlo en modo flash, eso se hace puenteando por 5 segundos la terminal RESET a Tierra (GND).

Si haz realizado correctamente todos los pasos hasta este punto, podrás desconectar tu Arduino y al conectarlo de nuevo a tu equipo lo reconocerá como un control de XBOX, si de lo contrario te dice que el dispositivo es desconocido, solo bastara instalar los drivers de xbox 360 para que tu equipo con Windows lo reconozca.



Por ultimo como punto final y el mas dificil, solo restara disfrutar de nuestro mando para los juegos arcade. Recuerda que en nuestro canal de Youtube tenemos un video respecto a la mejor manera de correr emuladores de tipo mame.



Notas finales

Como podrás darte cuenta podemos sacarle mucho provecho a nuestras placas de desarrollo Arduino, con el código que ahora tienes en tu poder, el limite para crear los mandos mas creativos dependerá de ti, ya que puedes Re cablear y utilizar los botones en la disposición o modelos que tu gustes, espero que este tutorial sea de tu agrado y agradeceríamos tu apoyo al blog y al canal de Youtube compartiendo e interactuando. 

Comentarios

Izra Jrz ha dicho que…
Buenas noches, esto podría funcionar para un Arduino nano??
Izra Jrz ha dicho que…
Buenas noches, esto funcionará con un Arduino nano??

Entradas populares de este blog

¿Como probar los sistemas inverter?

Como Cambiar Disco Duro a XBOX ONE