Como conectar un mando Arcade a la Raspberry Pi
Hola de nuevo amigos. Lo prometido es deuda. Y es por esto que dedicaremos esta entrada a las diferentes formas que tendremos de poder conectar nuestros mandos Arcade a un hardware muy específico y querido por todos nosotros: la Raspberry Pi.
Como nos ha cambiado la vida a los más nostálgicos de los 8 y 16 «bits» cuando salió al mercado esta pequeña maravilla que se puede utilizar para multitud de funciones (programación de automatismos, como mini-pc, etc.). Seguramente uno de los usos para los que más éxito ha tenido este mini-multiprocesador haya sido la de dispositivo para juegos, ya que esta preciosidad nos permitirá jugar, vía emuladores, a todo tipo de plataformas «viejunas» (NES, SNES, Megadrive, Mastersystem, Atari, Spectrum, Amstrad, Arcade, etc.).
Veamos antes de nada pues, qué es una Raspberry Pi, para que se utiliza y como podremos conectar cualquier tipo de mando a este dispositivo para poder jugar a un sin fin de plataformas vía emulación.
Índice de contenidos
¿Qué es una Raspberry Pi?
Sin extendernos mucho, podríamos decir que una Raspberry Pi es un mini-ordenador, un pequeño PC, con el cual podremos hacer todo lo que se puede hacer con un ordenador normal (programar, navegar por Internet, jugar, ofimática, etc.). Existen diferentes modelos, los cuales también ofrecerán diferentes características a nivel de memoria y capacidad de proceso.
Una de las posibilidades más interesantes de esta pequeña hermosura es la de poder programar sus pines de entrada-salida (llamados GPIO), para desarrollar cualquier tipo de automatismo (como pueden ser riegos automáticos, sensores de humo, de movimiento, etc.)
¿Porqué es tan interesante para los amantes de los videojuegos clásicos?
Pero centrémonos en la función por la cual se ha hecho más famoso este hardware, que no es otra que la de ser utilizada como dispositivo para ejecutar videojuegos gracias a su capacidad para emular más de 30 plataformas «añejas» diferentes (juegos Arcade, NES, SNES, Megadrive, Sega 32X, Neo-Geo, Game Boy, Spectrum, Amstrad, y un largo etc.) una función muy valorada por los más nostálgicos del mundo «gamer».
Si eres de los que busca un aparato para poder jugar a todo lo «ochentero-noventero», este mini-PC, el cual cabe en la palma de la mano (no exagero), es lo tuyo.
Pero ¡ojo! Con esto sobre todo podremos jugar a casi todas las plataformas de 8 y 16 bits (consolas antiguas), y algunas de 32 bits (PSone o Sega 32X, etc), pero en su versión actual ( olvidaos de poder «mover» juegos de Wii, Play 2, Play 3, Xbox.
Aunque existe una excepción a esto último que hemos dicho. Es decir, podriamos emular consolas más modernas (de 32 y 64 «bits») si «overclockeamos» la Raspberry PI. ¿Y que es «Overclockear»? Pues no es más que forzar el chip procesador de la Raspberry para que trabaje a más velocidad de lo que en teoría está diseñado. Haciendo esto, podríamos emular consolas más poderosas.
También recientemente ha salido al mercado un nuevo modelo de Raspberry PI (la 4), mucho más potente que modelos anteriores a nivel de memoria RAM, chip procesador y chip gráfico, pudiendo así emular dispositivos más modernos de forma fluida.
Qué partes tiene una Raspberry Pi
La Raspberry, hablando siempre del modelo 3b+, viene con las siguientes especificaciones:
- 4 puertos USB 2.0
- 1 puerto de RED
- 1 puerto HDMI
- 1 puerto mini-Jack
- 1 Puerto micro-USB (carga)
- 1 Lector tarjetas microSD
- Bluetooth
- Wifi
- CPU + GPU Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC @ 1.4GHz
- 1 Gb de RAM
- 40 pines GPIO (de Entrada/Salida)
Aparte de lo que es el tema de la emulación de consolas, lo más interesante de este hardware son los pines GPIO que tiene. Estos pines son llamamos de «Entrada/Salida» (E/S) porque a nivel electrónico se pueden programar. Una de las funciones que podemos desarrollar gracias a esto, como hemos mencionado anteriormente, es la de creación de automatismos.
Pero no nos desviemos del tema. Vamos a lo que nos interesa de verdad, que son las diferentes formas de conectar nuestros sticks Arcade a la Raspberry para poder jugar así a un sin fin de antiguas plataformas de la forma más fiel posible.
Como conectar los mandos Arcade a la Raspberry Pi
Pues suponiendo que ya tenemos nuestra Raspberry Pi, con nuestro sistema de emulación instalado y funcionando, lo único que nos queda es enchufar los mandos que tengamos y empezar a disfrutar.
Así pues, según el tipo de mandos que tengamos, esta conexión se podrá llevar a cabo de una forma u otra.
Conectar mandos arcade a la Raspberry Pi por USB
Si lo que tenemos son «gamepads» USB de toda la vida, la conexión es fácil ya que se conectan directamente a cualquiera de los puertos USB que tiene las Raspberry (4 puertos USB).
Si lo que tenemos es un mando arcade el cual tiene una interface que nos lo hace igualmente USB, (o sea, que de nuestro mando sale un cable USB) la conexión será igual que en el caso de los «gamepads»: directamente al puerto USB.
Una vez conectados a cualquiera de los puertos USB de la Raspberry tan solo nos quedaría entrar en el menú de configuración de los mandos en «Retropie» o «Recalbox», que son los gestores para emuladores más populares para Raspberry Pi, y configurarlos.
Por normal general se entra de forma automática en este menú de configuración al encender nuestra Raspberry Pi por primera vez ya con los mandos conectados vía USB. Nos dirá que ha detectado dos mandos pero que no están configurados. Pulsando un botón del cualquiera de los jugadores entraríamos en el menú de configuración.
Si no fuera así, todo puede pasar, entonces para acceder al menú de configuración de los mandos tendríamos que hacerlo mediante un mando que ya tuviéramos anteriormente configurado, o mediante un teclado USB conectado a la Raspberry. Una vez configurados los mandos, ya serán detectados por todos los emuladores que tengamos configurados.
En el 99% de los casos la Raspberry te va a reconocer tu mando de forma directa (plug&play),
Normalmente no hay instalar ningún driver adicional. Esto es debido a que el sistema que normalmente se utiliza para gestionar a la Raspberry Pi y poder jugar a los diferentes emuladores («Retropie» o «Recalbox» principalmente), dispone de una amplia base de datos de «drivers» para todo tipo de mandos USB.
Conectar mandos arcade la Raspberry Pi mediante los pines GPIO
Si lo que tenemos es un panel de control Arcade sin interface (con lo cual no tendremos ningún cable USB de conexión), el conexionado lo podremos llevar a cabo a través del GPIO de la Raspberry. Esto podremos hacerlo porque cada uno de estos pines tienen su correspondencia con alguna acción de nuestro mando (por ejemplo; el pin 11 = «derecha-jugador1», el pin 26 = botón2-jugador2, etc.). Es así como podremos hacer el inter-conexionado de nuestros mandos sin necesidad de interface alguna.
Cabe destacar igualmente, que para poder utilizar el GPIO para el conexionado de nuestro mando Arcade, debemos activarlo. Esto lo detallaremos en un apartado más adelante, ya que antes de dicha activación debemos llevar a cabo el conexionado físico.
Así pues, para poder hacer un conexionado correcto de nuestros mandos al GPIO, debemos antes de nada saber que numeración le corresponde a cada pin del mismo para saber así que acción le pertenece.
Numeración de los pines GPIO
Par poder conectar de forma correcta nuestros mandos al GPIO de la Raspberry PI debemos antes numerar de forma correcta los pines del GPIO. Pero antes de nada debemos diferenciar entre «numeración física «y la «numeración GPIO», ya que estas no coinciden.
Numeración física
La numeración física será por la que nosotros nos regiremos y corresponderá con la posición física que tenga un pin concreto respecto al grupo de pines. Así pues, tomando como referencia la foto del apartado anterior (ver foto) y empezando a contar por el lado opuesto al de los puertos USB, la fila de pines de la parte interna de la Raspberry Pi (los de la izquierda en la foto) corresponderán con los pines impares (1, 3, 5, etc.), y la fila de pines de la parte externa (los de la derecha en la foto) corresponderán con los pines pares (2, 4, 6, etc.).
Numeración GPIO
La numeración GPIO no coincide con la física, ya que no tiene en cuenta ciertos pines (los de voltaje, los de tierra, etc.).
Tabla de equivalencia «GPIO – Mando Arcade»
Así pues, utilizando la «numeración física», aquí os dejamos la tabla de correspondencia de dichos pines GPIO con las diferentes acciones de nuestro mando Arcade para cada jugador. Igualmente, entre paréntesis, os pondremos la numeración GPIO equivalente. Pero recordad que nosotros solo nos regiremos por la numeración física.
Acción | Jugador 1 | Jugador 2 |
---|---|---|
ARRIBA | pin nº 3 (GPIO 2) | pin nº 12 (GPIO 18) |
ABAJO | pin nº 5 (GPIO 3) | pin nº 16 (GPIO 23) |
IZQUIERDA | pin nº 7 (GPIO 4) | pin nº 18 (GPIO 24) |
DERECHA | pin nº 11 (GPIO 17) | pin nº 22 (GPIO 25) |
BOTON 1 | pin nº 13 (GPIO 27) | pin nº 24 (GPIO 8) |
BOTON 2 | pin nº 15 (GPIO 22) | pin nº 26 (GPIO 7) |
BOTON 3 | pin nº 19 (GPIO 10) | pin nº 32 (GPIO 12) |
BOTON 4 | pin nº 21 (GPIO 9) | pin nº 36 (GPIO 16) |
BOTON 5 | pin nº 23 (GPIO 11) | pin nº 38 (GPIO 20) |
BOTON 6 | pin nº 29 (GPIO 5) | pin nº 40 (GPIO 21) |
START | pin nº 31 (GPIO 6) | pin nº 35 (GPIO 19) |
COIN (SELECT) | pin nº 33 (GPIO 13) | pin nº 37 (GPIO 26) |
TIERRA (GND) | pines nº 9/25/39 | pines nº 6/14/20/30/34 |
Cabe destacar que mediante los pines 2 y 4 podremos sacar un voltaje de 5v (para botones led o un ventilador). Igualmente, mediante el pin 1 podremos obtener 3,3v. Los pines de «tierra» (GND) pueden ser comunes para ambos jugadores, aunque en la tabla venga diferenciados.
Veamos a continuación las diferentes posibilidades que tenemos para poder conectar físicamente nuestros mandos al GPIO.
Formas de conexionado al GPIO
El conexionado de nuestros mandos Arcade al GPIO se puede realizar de 4 formas diferentes.
De forma directa
Directamente tendríamos que conectar los cables en el GPIO de nuestra Raspberry. Esto lo haremos bien soldando o bien mediante conectores hembra de 1 pin que tendríamos que crimpar a nuestros cables en uno de sus extremos. En el otro extremo de nuestro cable tendremos que tener los conectores «faston» hembra correspondiente para poder conectarlos a los terminales o «faston» macho de los microswitches de nuestros botones y joysticks.
Para esta propósito también se podrían utilizar los cables de la interface Xin Mo (cable de Tierra, cable de acción). Con el cable de «tierra» (GND) se pueden conectar en serie hasta 22 terminales «tierra» (GND) de los microswitches. Con el cableado de acción conectaremos los terminales «positivos» de los microswitches.
Cableado GPIO Arcade
Con este cable podremos ahorrarnos todo el proceso de crimpado de los faston y de los conectores hembras de 1 pin.
Este cable, compuesto a su vez por 40 cables más, tendrá en un extremo un conector hembra de 40 pines que irá conectado al GPIO de las Raspberry, y por el otro extremo llevará 40 conectores «faston» hembra, uno por cable, para el conexionado en los «faston» machos de los microswitches de los botones y de los joysticks.
De forma separada, tenemos el cableado utilizado de forma exclusiva para el conexionado de todas las «tierras”, tanto de botones como de joysticks. Esto es así ya que del cable de 40 pines tan solo salen 8 «tierras», siendo estas insuficientes para poder conectar todas las «tierras» de las microswitches de nuestros botones y joysticks.
Para quien se haya perdido un poco en esto último: cuando conectamos un cable (con dos conectores «faston» hembra) a un microswitch de un botón o joystick (con dos conectores «faston» macho), uno de los terminales del microswtich corresponderá al polo «positivo» y el otro al «negativo». A este último, al polo «negativo», también se le conoce como «tierra» o «GND» (de «ground» en inglés). Recordad que todo conexionado electrónico, que es lo que nosotros estamos haciendo, se compone de un polo “positivo» y otro «negativo».
Placa de extensión del GPIO
Estas placas nos facilitarán mucho las cosas, ya que nos ofrece de forma impresa la «numeración GPIO» de cada pin y por tanto, la equivalencia de cada uno de ellos con las acciones de nuestro mando. En contra posición tendremos que utilizar el soldador para conexionar el cableado de nuestros joysticks y botones a estas placas.
El producto se compone de un cable con dos conectores hembra de 40 pines, uno por extremo, y de una pequeña placa. Esta placa está compuesta por un conector de 40 pines macho y dos filas de 20 puntos de soldadura en cada fila. En cada uno de estos puntos de soldadura está impresa la numeración GPIO que correspondería a cada pin del GPIO de la Raspberry.
La forma de conexionado es muy fácil: conectamos un extremo del cable en el GPIO de la Raspberry y el otro extremo de dicho cable en la placa. Y ya está. Ya podremos empezar a soldar los diferentes cables en los puntos de soldadura que nos ofrece esta placa.
Interface GPIO
Producto exclusivo de Arcade Express y de fabricación nacional, estamos ante una interface de 2 jugadores donde podemos conectar de forma muy sencilla (atornillando, como si fuera una ficha de empalme) hasta 6 botones de acción por jugador más el «START» y el «SELECT». Igualmente ofrece, como es obvio, 4 conectores para los joysticks. No dispone de las funciones «TURBO» ni «AUTO» (para saber más sobre estas funciones, ver artículo «Interfaces: el secreto para conectar tus joysticks y botones arcade«).
Dispone también de 3 conectores GND (tierra) y de un conector independiente con voltaje (5v) , por lo que podremos utilizar botones LED o pequeños ventiladores.
Otra ventaja que podemos destacar es la de que la Raspberry Pi te detectará tu mando Arcade como si fuera un teclado, y no como un «pad» o controlador USB, ahorrándonos así cualquier tipo de conflicto que se pueda dar a la hora de configurar nuestros botones Arcade.
No ofrece el conector de 5 pines exclusivo Sanwa/Seimitsu, lo cual no quiere decir que no podamos conectar estos magníficos joysticks con su cable correspondiente.
Activación del GPIO
Esto lo haremos mediante un pequeño programa llamado «GPIOnext.gif», el cual lo descargaremos, instalaremos y configuraremos utilizando la «consola» de Linux.
¿Y qué demonios es una «consola»? Recordad que Linux es el sistema operativo en el que “descansan” tanto «Retropie» como «Recalbox» (sistemas que gestionan todos los emuladores a los que vamos a jugar). Este sistema operativo posee una «consola», que no es más que una «ventanita» con un cursor parpadeante donde podremos teclear «ordenes» o comandos (como el antiguo y añorado MS-DOS).
A continuación, os explicamos, paso por paso, como debemos llevar a cabo esta operación.
Suponiendo que ya tenemos todas las conexiones físicas al GPIO hechas y que ya tenemos un sistema instalado en nuestra Raspberry PI (sea «Retropie» o «Recalbox»), lo primero que debemos hacer es conectar por USB un teclado, el cual necesitaremos para poder entrar en la consola y teclear las ordenes. Hecho esto, conectamos nuestra Raspberry Pi y dejamos que se inicie. Una vez iniciado el sistema que tengamos, haremos lo siguiente (recordad que al escribir omitiremos las ““.):
- Pulsamos F4 en el teclado: Así entraremos en la consola.
- Tecleamos «CD ..» y pulsamos «ENTER»: Recordad, siempre sin comillas («»).
- Tecleamos «git CLONE https://github.com/mholgatem/GPIOnext.git» y pulsamos «ENTER»: esto iniciará la descarga del fichero «GPIOnext.git».
- Tecleamos: «bash GPIOnext/install.sh» y pulsamos «ENTER»: esto iniciará la instalación del programa «GPIOnext.git»
- Una vez terminado el proceso anterior, el sistema nos preguntará: «Install complete! Do you like to run configuration manager now?(y/n)» (nos pregunta si queremos configurar ahora el GPIO). Pulsaremos la «y» del teclado para decir que «si».
- Entraremos en un menú donde se nos preguntará: «Wich virtual device do you want to configure?» . Nos pregunta cuantos dispositivos vamos a configurar. En nuestro caso disponemos de un dispositivo de juego de dos jugadores. Por esto elegiremos la primera opción, «Joypad 1», y pulsamos «ENTER».
- Ahora nos preguntará: » How many Dpads/Joysticks does this controller have?)» Aquí se nos dan 5 opciones. Elegiremos, manejándonos con el teclado, el número «2», ya que se nos pregunta cuantos joysticks o jugadores tiene el dispositivo. En nuestro caso, como bien sabemos, tenemos un panel de dos jugadores.
- Nos saldrá una larga lista de opciones correspondientes a los botones del jugador 1 y 2. De esta lista marcaremos, mediante la barra espaciadora del teclado, aquellos opciones o botones que queremos que se activen en nuestro dispositivo. Como he citado antes, tomando como referencia el típico mando Arcade con 6 botones de acción más el «START» y el «SELECT» (por jugador), marcaremos las siguientes opciones (siempre manejándonos con los cursores el teclado), las cuales serán validas para ambos jugadores:
- START BUTTOM
- SELECT BUTTOM
- BUTTOM A
- BUTTOM B
- BUTTOM X
- BUTTOM Y
- BUTTOM LEFT TRIGGER
- BUTTOM RIGHT TRIGGER
- Pulsamos «ENTER»
- Ahora entraremos en la configuración del mando del jugador 1:
- «Configuring Joypad 1:
- Hold UP on Dpad/Joystick 1: moveremos el joystick del jugador 1 hacia «ARRIBA».
- Hold DOWN on Dpad/Joystick 1: moveremos el joystick del jugador 1 hacia «ABAJO».
- Hold LEFT on Dpad/Joystick 1: moveremos el joystick del jugador 1 hacia la «IZQUIERDA».
- Hold RIGHT on Dpad/Joystick 1: moveremos el joystick del jugador 1 hacia la «DERECHA».
- Hold START buttom: pulsaremos el botón que hayamos designado como «START» del jugador 1.
- Hold SELECT buttom: pulsaremos el botón que hayamos designado como «SELECT» del jugador 1.
- Hold buttom A: pulsaremos el botón que hayamos designado como «A» del jugador 1.
- Hold buttom B: pulsaremos el botón que hayamos designado como «B» del jugador 1.
- Hold buttom X: pulsaremos el botón que hayamos designado como «X» del jugador 1.
- Hold buttom Y: pulsaremos el botón que hayamos designado como «Y» del jugador 1.
- Hold buttom Left Trigger 1: pulsaremos el botón que hayamos designado como «LEFT TRIGGER 1» del jugador 1.
- Hold buttom Right Trigger 1: pulsaremos el botón que hayamos designado como «RIGHT TRIGGER 1» del jugador 1.
- «Configuring Joypad 1:
- Una vez hecho esto, nos llevará a la configuración del jugador 2, donde repetiremos el mismo proceso descrito en el punto anterior.
- Una vez finalizado, y sin que nosotros hagamos nada, nos saldrá un aviso diciendo «Saving Configuration», llevándonos a los pocos segundos al menú del punto 6.
- En este menú, con el teclado nos situaremos en la opción «EXIT». Con esto nos saldremos de la configuración del GPIO, yéndonos a la pantalla principal.
- Escribimos lo siguiente para que quede todo activado de forma permanente: «gpionext start».
- Por último, reiniciamos todo el sistema escribiendo «reboot».
Ventajas del conexionado mediante GPIO
Una de las grandes ventajas que conlleva el conectar nuestros mandos mediante el GPIO, aparte de la económica, ya que nos ahorraremos las interfaces, es la de asegurarnos un «LAG CERO» real, ya que no hay hardware intermedio entre nuestros mandos y la Raspberry. (echad un vistazo a nuestro artículo «Interfaces: el secreto para conectar tus joysticks y botones arcade» para saber más del citado «LAG»).
Conclusiones finales
Si solamente vas a utilizar tu mando Arcade en la Raspberry PI, o te has montado una máquina Arcade o Bartop en cuyo interior le vas a implementar igualmente una Raspberry, la elección del conexionado vía GPIO de nuestros mandos sería más que acertada, ya que aparte de asegurarnos un retardo nulo, nos ahorraríamos también unos «eurillos» al prescindir de las interfaces.
Bueno amigos, esperamos como siempre haberos despejado todas aquellas dudas que teníais respecto al GPIO de la Raspberry PI y el conexionado de un mando Arcade a la misma.
Un fuerte abrazo amigos y hasta pronto.
Genial ????
Excelente tutorial me ha venido genial para configurar mi mando arcade casero. Como única anotación cambiar al final en el punto 4 de la activación de GPIO, pone «basch» y es «bash» igual alguien le puede volver un poco loco jejejeje. Un saludo,
Muy buenas amigo IC,
muchas gracias por avisarnos del error. Ya lo hemos corregido, y como tu bien dices, puede ser que mas de uno se haya podido volver un poco loco 🙂
Muchas gracias también por darnos tu opinión. Gente como vosotros son los que nos dan ánimos para seguir mejorando.
Un abrazo.
Hola, lo primero muchas gracias por el manual.
Estoy siguiendo al pie de la letra las instrucciones y hay un punto en el que no se si lo estoy haciendo bien o me falta algo, es lo siguiente:
Cuando estoy configurando el punto 10 me sale para configurar el mando completo 1 y ademas el joystick 2 (solo el joystick sin los demás botones).
Despues ya no me sale el punto 11, lo que no sé es si ha quedado también configurado el segundo mando solo configurando el joystick.
Esa es mi duda…. Gracias y un cordial saludo
Muy buenas,
deberías poder configurar el mando del jugador dos completo, no solo el joysticks. Es posible que lo que estés configurando al final del punto 10 sea el joystick analógico del player 1, no el joystick completo del player 2. Igualmente debería salirte el punto 12 para poder configurar el player. No sabría decirte por que no te sale. Configúralo tal cual te sale y prueba en Retropie o Recalbox a ver si está activado.
Muchas gracias por tu comentario y un saludo.
No me funcionan los comandos que puedo hacer?
Hola amigo Jesús,
no sabría decirte que está pasando, porque no te van los comandos. ¿Tienes la Raspberry pi 3 o la 4? Si tienes la 4 puede ser que haya algún tipo de incompatibilidad, ya que este manual está pensado para la Raspberry Pi 3b+. Revisa bien lo que estás escribiendo, por si estás tecleando algo mal. Te en cuenta que los comandos se teclean sin las comillas (“”), tal y como explico en el mismo.
Muchas gracias por tu comentario y un saludo.
Hola muy buenas, yo estoy con una Zero montando una game boy. ¿Estos pasos que se hace con la PI3 funcionaria con una Zero?. Me interesaba poder poner l2 y R2 lo que serían 8 botones no 6. ¿Es posible?, ¿como se podría hacer?. Gracias por su atención.
Muy buenas Marc,
dudo mucho que puedas poner más de 6 botones en una Raspberry mediante GPIO. Si quieres poner 8 botones tendrás que tirar de una interface intermedia si o si. Por ejemplo, la Zero Delay, en la cual podrás conectar hasta 12 botones por jugador.
En cuanto a la compatibilidad de todo este proceso con la Pi Zero no sabría decirte, ya que nunca la he probado. Cuestión de que pruebes a ver si «pita» o no. Lo que si te puedo asegurar en lo dicho anteriormente. O sea, que no podrás conectar más de 6 botones por jugador mediante GPIO.
Muchas gracias por tu comentario y un saludo.
Muchisimas Gracias, Precisamente lo que andaba buscando, Saludos
Muy buenas Enrique,
muchas gracias a ti y encantados de haberte podido ayudar.
Muchas gracias de nuevo y un saludo.
Buenas noches y gracias por el foro, tengo una rapsberry 3 que mueve el mame con un sistema recalbox, probando funciones del mando, he desconfigurado los movimientos, ahora solo mueve hacia derecha y izquierda, no me deja entrar en ningun menu para reconfigurar los movimientos del mando y no funciona ningun boton. ¿ puedo resetear o entrar de alguna manera en la configuracion del mando?
Muchas gracias.
Muy buenas Jose,
creo que puedes tener dos opciones para poder volver a configurar tu mando. Por un lado, antes de encender tu Raspberry, conecta el mando desconfigurado y otro mando nuevo. Al encender la Raspberry debería detectar que hay un nuevo mando conectado y darte la opción de configurarlo, entrando en el menú de configuración de los mandos. Una vez que configures el mando 2, ya podrás entrar de nuevo en el menú de configuración y configurar el mando 1.
Otra opción es conectar un teclado vía USB, antes de encender la Raspberry, y entrar en el menú de configuración. No recuerdo bien que tecla del teclado es la hace entrar en el menú de configuración. Creo recordar que con el ENTER entrabas a algún menú, y con la tecla «A» elegias opción. Haz pruebas. Ensayo-error. Vé pulsando teclas hasta que des con la correcta. Es posible también que al encender la Raspberry detecte el teclado como nuevo dispositivo y te permita entrar en el menú de configuración de forma automática.
Espero que tengas éxito en tu misión Jose y poder haberte ayudado.
Un saludo y muchas gracias.
muchas gracias por tu rapidez en contestar y las ideas muy buenas, intentare lo que me has comentado, ya os contare.
Saludos
Buenas. Tengo una Raspberry Pi 3b con retropie y hace tiempo compré un kit arcade pero no me reconoce las direcciones izquierda y arriba. Las conexiones van a una placa zero delay. ¿Sabríais a que se debe? Estoy pensando en comprar un joystick de mejor calidad a ver si así no tengo esos problemas.
Un saludo.
Buenas. Tengo una Raspberry Pi 3b con retropie y compré hace tiempo un kit arcade pero no consigo hacerle funcionar a las direcciones arriba e izquierda. Uso una placa zero delay para las conexiones. ¿Sabríais cual podría ser el motivo? Estoy pensando en comprar un joystick mejor a ver si así se soluciona el problema.
Un saludo.
Muy buenas Noe,
supongo que habrás leido bien el articulo y lo habrás seguido de «cabo a rabo». Sobre todo por el tema de clonar las conexiones de ambos players. Tal y como hagas las conexiones en el player uno debes hacerlo en el player dos. Esto es muy importante para evitar posibles quebraderos de cabeza.
Prueba con la otra interface y con el otro joystick. Intercambialos para cerciorate de que es lo que falla exactamente: o la interface o el joystick (sus microswitchs). También puede ser que el problema este el el cableado. Comprueba todo esto y también que todas las conexiones a los micros estén correctas (las terminales correspondientes a las tierras conectadas todas igual en todos los micros, etc.).
Si finalmente no hay manera de hacerlo funcionar, yo cambiaría antes las Zero Delay que los joysticks.
Muchas gracias y un saludo.
Hola, tengo una máquina arcade, bueno mejor dicho, un mueble arcade con monitor y mandos arcade conectados a una Pandora Box vía jamma. Me gustaría saber la manera de conectar una Rapsberry pi (supongo que la 4) al conector jamma que ya tengo instalado, con todo el lío de cables de los mandos. He visto distintos interfaces pero no estoy muy seguro del que necesito. Simplemente quisiera seguir jugando con mis mandos arcades y monitor pero con una Rpi. Supongo que algo existirá…La RPi necesita su fuente de alimentación o le sirve la que ya tiene el mueble y que va también vía jamma?
Muchas gracias.
Muy buenas Mario,
claro que existe interfaces para la conexión da la Rasp a una máquina arcade vía Jamma. Me estoy refiriendo al Pi2Jamma, de la prestigiosa marca Arcade Forge. Te dejo el link de artículo al que me refiero: PI2JAMMA. Puedes saber más de esta marca y de muchos de sus componentes en otro de nuestro post que tenemos publicado hablando del tema.
Echale un buen vistazo a la ficha técnica del producto, ya que vas a necesitar versiones específicas de los sistemas que mueven a la Raspberry PI (Regamebox, Recalbox, etc). No es tan fácil como «enchufar y listo»·
Por otro lado, a priori el propio Pi2Jamma debería alimentar a la Raspberry Pi mediante el cableado Jamma de tu máquina. Es decir, que no deberías tener que utilizar una fuente externa para alimentar a la Raspberry Pi. Te digo a priori porque dependiendo de la antigüedad de tu cable Jamma, puede ser que el «pin-out» del mismo no sea el estándar de hoy en día, pudiendo no llegar a alimentar a la Raspberry Pi.
Si más que añadirte Mario, espero haber medio despejado tus dudas.
Muchas gracias por el comentario y un saludo.
Pero de que pin sale el reset para regresar al menu de juego
Muy buenas John,
no existe un pin específico en la Raspberry para el RESET. A nivel de sistema (Retropie o Recalbox) es donde se define un SELECT, un START y un HOTKEY y la combinación de estas funciones es lo que hace la función de RESET, tanto en Retropie como en Recalbox. Por ejemplo, HOTKEY + START = SALIR DEL JUEGO (RESET), HOTKEY + R1 = GUARDA PARTIDA, etc.
Tu tan solo lo que tienes que mapear es SELECT, START y HOTKEY. Lo normal es que al botón que hayas asignado el SELECT también le asignes el HOTKEY. Esto último no es obligatorio y si quieres puedes asignarle la función HOKEY a un botón específico cualquiera.
Te aconsejo que le eches un buen vistazo a cualquier manual, tanto de Retropie como de Recalbox, que encuentres por la red (los hay a patadas), ya que creo te puede ayudar mucho en lo que respecta a la configuración de los sistemas que manejan los emuladores de la Raspberry (Retropie o Recalbox) y del kernel que manejan a ambos (Retroarch). Cuidado a la hora de tocar esto último, porque Retroarch es el “cerebro de la bestia” digamos, y una mala configuración del mismo puede desconfigurarte todo el sistema.
Sin nada más que comentarte John, espero haberte aclarado algo las cosas.
Muchas gracias y un saludo.
Buenas noches. Necesito ayuda, tengo una raspberry con recalbox la cual funciono siempre bien. Se me han desconectado todos los pines de ambos jois y no volvio a funcionar ningun boton de ahi en más. He visto mapeos (Los cuales respeté y probé sus variantes), La maquina inicia perfecta. Lo que no entiendo o no encuentro es COMO VOLVER A CONFIGURAR LOS PINES MIENTRAS ESTAN DESCONECTADOS. Por favor ayudenme, gracias raza
Muy buenas Claudio,
la verdad es que creo que no te he entendido muy bien. ¿A qué te refieres cuando dices que se han desconfigurado los pines? ¿Cómo tienes conectados los joysticks y botones? ¿Por USB o por GPIO? Cuando me hablas de «pines» entiendo que te refieres a los pines GPIO de la Raspberry Pi, ¿es así?
Quedo a la espera a que me tu respuesta para intentar ayudarte en tu problema.
Muchas gracias y un saludo.
Hola soy Gustavo de mar del plata. Los felicito por lo simple de las explicaciones en todo el blog. Mañana me llegan las placas zero delay. Y voy a empezar a hacer las conexiones. Una pena no haber sabido que podía obviarlas y conectar directamente en la raspberry.me recomiendan que teniendo las placas siga por ese camino o las devuelva?y otra pregunta.al activar la gpio puedo seguir usando los puertos usb para jugar de a 4?Gracias saludos
Muy buenas Gustavo,
el que actives el GPIO no debería influir en el funcionamiento de los puertos USB, por lo que no deberías tener problemas para poder conectar los gamadas a los puertos USB de tu Raspberry.
En cuanto a la pregunta si es mejor las Zero o conectar directamente a GPIO, está claro que la segunda opción es la mejor, ya que conseguimos un “lag” o retardo cero, cosa que se agradece muy mucho para cierto tipo de juegos. También es verdad que el conexionado vía GPIO es más complicado que el conexionado a las Zero Delay, pudiéndote surgir algunas dificultades si no estás muy puesto en temas de Linux.
Por último, comentarte que todo esto que te he comentado se refiere a la Raspberry Pi 3b+. En la 4 no he probado la conexión GPIO y no sabría decirte como de complicado es y si el resultado es satisfactorio, aunque supongo que no diferirá mucho de la 3.
Muchas gracias y un saludo.
Hace un tiempo compré este mando https://www.amazon.es/USB-Fighting-Stick-Mayflash-PS2/dp/B0015PHMFU y al probarlo con mi rasperry pi 3 con recalbox se me volvía loco el mando…..subía y bajaba solo las pantallas de los emuladores….no me hacia caso de nada y daba a los botones solo…..Al tiempo compré este otro https://www.amazon.com/-/es/Fighting-Joystick-Gamepad-Controller-Smartphone/dp/B07Y1XPQ58 pensando que sería el mando…..y PASA LO MISMO!!!
así que pienso que es algo que tengo mal configurado…..de siempre y nada mas comprarme la rasperry tengo unos mandos típicos de play pero quería estos arcade porque me gustan mas…..
ese es mi problemon!!! que puedo hacer!!!????
mil gracias!!!
Muy buenas,
Pues la verdad es que nos sabría decirte que está pasando. Parece como si el circuito de botones y joysticks estuviera configurado en abierto. Es decir, que reaccionan solos los controles hasta que presiones un botón o joystick. O sea, que reaccionan de forma contraria a la que deberían.
Prueba el panel de control en Windows, a ver si ahí reacciona de forma correcta. Si bajo Windows la cosa va bien, cambia la versión que tengas de Recalbox. Yo siempre he usado RetroPie. La veo más fiable y configurable.
Muchas gracias y un saludo.
hola eh hecho todo los paso y bien pero en la parte de would you like to run the configuration manager now? me sale Module NotfoundError: no module named ´evdev´ ———- Setup Complete! y de ahi no paso ya no puedo hacer nada espero puedas ayudarme te agradeceria ya llevo rato intentando hacer que retropie detecte mis mandos arcade, de antemano gracias
Muy buenas,
Pues la vedad es que no sabría decirte que está pasando. Está claro que el scritpt está dando algún error en el código. Este script de configuración de los mandos no lo hemos desarrollado nosotros, por lo que no sabría decirte donde está dando el error. Supongo que estarás usando la Raspberry Pi 3b+.
Aunque te dé el error prueba a ver si al arrancar la Raspberry con Recalbox y Retropie puedes mapear los mandos. Si no es así, tendrás que buscar otra forma de activar y configurar el GPIO. No creo que te sea difícil encontrar información.
Siento no poder serte de más ayuda.
Muchas gracias y un saludo.
Hola, lo primero gracias por las instrucciones, pero tengo un problema y es que una vez que hago el punto 5, no me sale para configurar los mando y me sale este mensaje: «Trace back (most recent calle last): File «/home/Pi/GPIOnext/config_manager.py, línea 14, in ModuleNotFoundError: No module naked ‘evdev’ » ———-> Setup Complete.
Necesito ayuda porque no sé qué signidica esto.
Gracias
Muy buenas,
Pues la vedad es que no sabría decirte que está pasando. Está claro que el scritpt está dando algún error en el código. Este script de configuración de los mandos no lo hemos desarrollado nosotros, por lo que no sabría decirte donde está dando el error. Supongo que estarás usando la Raspberry Pi 3b+.
Aunque te dé el error prueba a ver si al arrancar la Raspberry con Recalbox y Retropie puedes mapear los mandos. Si no es así, tendrás que buscar otra forma de activar y configurar el GPIO. No creo que te sea difícil encontrar información.
Siento no poder serte de más ayuda.
Muchas gracias y un saludo.
Muy buenas y gracias por toda la info del blog!!
Me gustaría preguntarte si es posible sustituir en una arcade de fabricación propia una raspberry 3 con mandos arcade con interface USB por alguna Pandora box que reconozca los mandos directamente por USB.
Gracias de antemano!!
Muy buenas,
Si que hay varios modelos que admiten el conexionado de gamepads o mandos tipo USB. Te dejo los links de los modelos de los que te hablo:
Muchas gracias y un saludo.
hola buenas tardes e seguido el tutorial pero cuando lo instalas y te pide actualizar y que utilizara x megas de mas lo instalas y da todo error entonces cuando vas a configurarlo te da error y no puedes continuar.
Muy buenas,
La verdad es que poco te podemos ayudar ahí, ya que el “script” que hace todo el proceso no lo hemos programado nosotros, sino que se lo descarga el propio sistema de la Raspberry PI. Es posible que haya algún tipo de incompatibilidad con la versión que tengas de Retropie, ya que el artículo tiene un tiempo, y la versión de Retropie sobre la que se hizo el artículo puede estar un poco anticuada. No sabríamos decirte, la verdad.
Sentimos mucho no poder serte de más ayuda.
Muchas gracias y un saludo.
Hola amigo buenas noches. Tengo una retro arcade y no se que paso pero en los juegos de mame no puedo moverme. Andan los botones de saltar o pegar, pero no ir hacia adelante, atrás,derecha o izq. Sabes como lo soluciono? Además cuando entro a algún juego me dice Dragon rice 1/21 no configurado. Espero puedas ayudarme. Gracias
Buenas,
No sé a qué máquina te refieres exactamente, pero tiene toda la pinta de que se te ha desconfigurado el joystick. Esto se puede deber al programa de gestión de la máquina o al emulador que manejes o al propio joystick que se te haya jodido, bien por el cableado, por los micros, etc. Son muchos los motivos por lo que se te hay podido desconfigurar.
Si solo te pasa con Mame, y en tu máquina hay más emuladores en los que el joystick si funciona, es obvio que es un problema de software o del propio Mame. Entra en la configuración del mame y vuelve a configurar el joystick. ¿Cómo se hace esto? Pues eso ya depende de tu máquina y del hardware y software que tengas. Por norma general a la configuración del Mame se entra con la tecla tabulador de un teclado, por lo que tendrás que “pinchar” un teclado en tu máquina, a no se que el que fabricó la máquina haya puesto otra forma de entrar a esta configuración.
Muchas gracias y un saludo.
Hola amigo
Al momento de darle y en run the configuration manager me sale lo siegueijte
No module named evdev
Muy buenas,
Cuando se escribió el artículo, este se hizo sobre una versión determinada de Retropie y para la Raspberry PI 3b+. Es posible que tu Raspberry Pi no coincida en versión.
Muchas gracias y un saludo.
Me gustaría conectar 8 botones de acción y 2 de servicio más el joystick Sanwa, solo usaré un solo jugador. Como puedo hacer eso? También es posible de hacer con la Raspberry pi 5?
Problemas que he tenido al conectar joypad y botones directamente a los pines de la rasperry pi 4.
Al final lo he conseguido después de seguir este tutorial y otros.
Estos son los problemas que me he encontrado:
-Tras instalar retropie en la tarjeta sd e instalar, una vez reiniciado para activar los pines de la rasperry pi 4.
0 Lo primero que te saldrá es una pantalla en blanco que te dirá que no ha encontrado mando por lo que tendrás que usar el teclado.
1 F4 en el teclado: Así entraremos en modo consola.
2 Tecleamos «CD ..» y pulsamos «ENTER»: Recordad, siempre sin comillas («»). NO OLVIDAR QUE HAY ESPACIO ENTRE CD y los … . Esto es para cambiar de directorio pues no tenemos permisos en el actual.
3 Tecleamos «git CLONE https://github.com/mholgatem/GPIOnext.git» y pulsamos «ENTER». PARA QUE ESTO FUNCIONE TENEMOS QUE ESTAR CONECTADOS A INTERNET YA SEA MEDIANTE CABLE O MEDIANTE WIFI.
—-Con cable es fácil. Solo conecta tu router a la rasperry.
—-Pero por WIFI hay que activarlo primero ya que viene desconectado en la rasperry pi 4. Y eso es un lio que no veas.
– Debes entrar en el menú raspi-config y no sé porqué, no se puede entrar desde la consola de comandos (será un error de la versión actual). Hay que entrar desde el menú de retropie. Esto se hace así: Cuando nos carga la pantalla de presentación de retropie, podemos darle al boton A para entrar en retropie o start para opciones. (Si le damos a start entramos en un menu de fondo blanco donde ahí configuraremos nuestros controles una vez hayamos activado los pines de las rasperry pi).
– Así que primero le daremos al boton A y entraremos en el menú de retropie donde hay una opción en mitad que pone raspi-config. Una vez ahí a parte de activar el wifi podrás seleccionar el teclado español… que eso es otra cosa por defecto es el ingles y no veas para escribir comandos…
Para manejarte correctamente en este menu y activar zona horaria, wifi de españa y teclado hay videos en internet explicando. pero lo principal (el wifi) es ir a la opción 4 y ahí Elegimos Change Wi-fi Country. Elegimos España. Salimos
Tras activar el wifi nos vamos de nuevo al menú de retropie donde entre otras estaba la opcion raspi-config y vamos abajo del todo a la opción de wifi donde podras seleccionar la red y la contraseña de tu router. Lo del wifi ha sido de lo peor.
4 Al estar conectados se descargará el programa y ya si podemos teclear bash GPIOnext/install.sh
Asignar las teclas es un poco lioso pero tras varias pruebas y error se consigue. Seleciones joipad 1 y luego vuelve a seleccionar la opción 1 que quiere decir que sólo tenemos un pad en el joipad 1. Configuramos. Tras esto elegimos configurar joipad 2 y luego selecionamos otra vez la opción 1. Configuramos y le damos a salir y luego escribimos gpionext start para que funcione.
5 POR FIN una vez activados los pines de la rasperry y ya dentro de retropie debes configurar las teclas y botones del joystick. En la pantalla de presentación de retropie le damos a Start para entrar en opciones. Fondo blaco. Ahí configurarás por fin tus botones y Joistick.
ENHORABUENA has acabado con el infierno.
En fin me he tirado todo el día para configurar esto. si no entiendes nada de informática tendrás problemas.
6 Ahora solo te queda meter las roms y configurar retroarch pero para eso hay muchos tutoriales.