Controles por GPIO en Raspberry Pi

Controles por GPIO en Raspberry Pi

@Re_tux

🐧 Retux

En este tuto explicaremos como conectar los controles al GPIO y configurarlos.

Para la conexion seguiremos el siguiente esquema, teniendo en cuenta que los comunes tienen que ir puenteados a GND (Ground) a cualquiera de ellos, incluso a varios puedes conectar. La cuestion es que cada interruptor tenga un GND y el especificado en el esquema para el boton en cuestion. Por ejemplo, para UP del jugador 1, necesitas conectar al interruptor de UP el pin 7 y el otro a un GND cualquiera, de la placa o puenteado de otro interruptor de su GND.

esquema con dos botones mas como Hotkey


Como pone ahí el Joystick 1 los de color verde y el azul el 2. Este esquema es viendo la raspberry de frente con el gpio a nuestra derecha, tal que así:


Una vez cableado y repasado que todo está correcto continuamos con la parte de software.

Nos vamos a retropie, retropie-setup, y entramos en manage packages, driver y instalamos el mkarcadejoystick

y veremos que no da ningún error:

Una vez terminado, salimos con back, back, back, exit.

En caso de que tengas 1 solo control puedes ir a mapearlo ya, como siempre.

Si tienes 2 controles, en el terminal (por ssh o pulsando F4) escribimos lo siguiente:

sudo nano /etc/modprobe.d/mk_arcade_joystick_rpi.conf

Añadimos ,2 al final de la linea parq que quede options mk_arcade_joystick_rpi map=1,2

Guardamos pulsando Control+X, aceptamos con Y y pulsamos enter. Así nos queda guardado.

Reiniciamos.

Ahora nos vamos al menú de emulationstation para mapear (o mapeamos si nos lo pide al principio), mapeamos nuestro joystick y botones a gusto primero el 1 luego desde configure input ya hecemos el 2. Yo lo que hice es borrar mapeados desde la opción de borrar mapeados en retropie, reset mapeado y así solo tengo ese control mapeado, sin teclado.

El usuario Ruben San Juan no le funcionaba el jugador 2, no le dejaba mapearlo y ha encontrado la solucion, mapear primero el jugador 2 y luego el 1.

Fuente: https://github.com/recalbox/mk_arcade_joystick_rpi

Hasta aquí estaria listo. Lo que hay a continuación sería para el que quisiera usar el GPIOnext, NO ES NECESARIO.

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------




Empezamos desinstalado rpi.gpio

sudo apt-get remove python-rpi.gpio

Pulsamos Y y aceptamos cuando nos lo pregunte.

sudo rm /usr/local/lib/python3.4/dist-packages/RPi.GPIO-0.5.11.egg-info

sudo rm /usr/local/lib/python2.7/dist-packages/Rpi.GPIO-0.5.11.egg-info

sudo rm -R RPi.GPIO-0.5.11/

Procedemos a la instalación de GPIONEXT

git clone https://github.com/mholgatem/GPIOnext.git

bash GPIOnext/install.sh

Al terminar nos preguntará:

Pulsamos Y para aceptar.

Aquí seleccionamos lo que queremos mapear, seleccionamos el primero.

Seleccionamos 1 (en la imagen pone 0 pero es 1 lo que se necesita seleccionar)

Una vez aquí seleccionamos con la barra de espacio los botones que tiene nuestra máquina. En mi caso tengo 6 botones de juego y 2 para el select y start, por lo que selecciono como en la siguiente imagen.

Pulsamos enter y nos irá preguntando botón por botón.

Los iremos pulsando uno a uno con una pulsación prolongada hasta que aparezca su numeracion.

Al terminar nos volverá al primer paso, donde seleccionamos el joypad2 en caso de tener un segundo, si solo tenemos 1 seleccionamos exit.

En unsos segundos ya funciona correctamente. En caso de que no funcione:

gpionext start

sudo reboot


Fuente: https://github.com/mholgatem/GPIOnext

Report Page