Simples Raspberry Pi Game Pad para jogo de captura de bola – (Parte 36/38)

Game Pad Raspberry Pi sencillo para atrapar pelotas – (Parte 36/38)

La Raspberry pi es una mini computadora diseñada en una sola placa con todos los componentes esenciales necesarios para ejecutar un sistema operativo. La tarjeta viene con un conector RCA que se puede utilizar para conectarla directamente a una pantalla de TV basada en los estándares PAL y NTSC. La tarjeta también tiene una salida de conector HDMI que se puede utilizar para conectar la tarjeta a un televisor HD. También se puede utilizar el inicio de sesión remoto para acceder a la Raspberry pi y ver la GUI (interfaz de usuario de texto) en la pantalla de la PC. La placa Raspberry pi también es muy fácil de interactuar con dispositivos o circuitos externos a través de sus pines. Esto convierte a Raspberry pi en una plataforma adecuada para jugar y desarrollar juegos interesantes.

Este artículo analiza cómo desarrollar un juego gráfico simple utilizando lenguaje HTML5 y JavaScript e interconectarlo con un hardware de controlador de juego externo personalizado conectado a los pines de la placa Raspberry pi.
((wysiwyg_imageupload:11064:))

Hay ocho pines IO de uso general en los conectores de 13*2 pines de la placa Raspberrypi y entre ellos se han seleccionado cuatro pines como entrada y los cuatro pines restantes como salida. Los pines de entrada están conectados al botón y bajados usando resistencias de 1K. Los pines de salida están conectados a los LED a través de otro conjunto de resistencias de 1K. Para este proyecto, la placa Raspberry pi se carga con Ubuntu y se accede a ella de forma remota mediante VNC . Para acceder a los pines saliendo del controlador Broadcom se descargó e instaló la biblioteca C “bcm2835” .

Este juego contiene cuatro bolas cuyo movimiento se puede controlar con la ayuda de las cuatro teclas del mando. El juego se puede abrir en una ventana del navegador y jugar con la ayuda de cuatro botones conectados a los pines de la placa Raspberry pi. Es necesario instalar el navegador “Iceweasel”, que es la versión Debian de Firefox. Los siguientes comandos pueden instalar el software en Raspberry pi;
sudo apt-obtener actualización
sudo apt-get install icewease eu
El juego se ejecuta en una ventana del navegador y se comunica con el panel de juego a través de un Named Pipe o FIFO. Hay varios procesos en ejecución que pueden leer el panel de juego y escribir los comandos necesarios en el FIFO para controlar el juego. El JavaScript escrito en el código del juego simplemente lee el FIFO para ingresar datos de control.
El proceso principal aquí crea cuatro procesos secundarios que están dedicados a cada una de las teclas del gamepad. Cada vez que se presiona o suelta una tecla, generan una señal y la envían al proceso principal con un valor. Este método de enviar una señal con valor ayuda al proceso principal a identificar qué tecla se presionó o soltó.
Diagrama de blocos do gamepad Raspberry pi
Fig. 2: Diagrama de bloques del gamepad Raspberry Pi
El NAMED PIPE o FIFO debe crearse usando el siguiente comando en el mismo directorio donde existen el ejecutable para el código del gamepad escrito en C y los archivos HTML del juego escritos en HTML5 y JavaScript.
mkfifo xyz
FIFO también se puede crear utilizando el propio código añadiendo la función abierta mkfifo como se explica en una documentación anterior .
Tan pronto como el proceso principal detecta una pulsación de tecla del valor recibido junto con la señal, simplemente escribe un carácter específico correspondiente a esa tecla en NAMED PIPE o FIFO. El juego HTML leerá continuamente el FIFO cada 500 ms para obtener información. Por lo tanto, tanto el código C como el archivo HTML deben estar en estado de ejecución. El hardware del gamepad solo se comunica con código C, y el código C se comunica con JavaScript mediante NAMED PIPE.
El usuario puede escribir datos en el archivo temporal desde el propio terminal utilizando el comando 'echo' como se muestra en el siguiente ejemplo.
eco abcdef >> /tmp/mi_fifo
El proceso principal de escritura FIFO está escrito de tal manera que escribirá algunos caracteres específicos en el FIFO en respuesta a las señales recibidas de los procesos secundarios. Los comandos que se escribirán en el FIFO para controlar el movimiento de las bolas en el juego se enumeran a continuación;
tu -> atrapa la pelota en la primera columna
r -> atrapar la pelota en la segunda columna
l -> atrapar la pelota en la tercera columna
d -> atrapar la pelota en la cuarta columna
Estos comandos se pueden escribir en FIFO con la ayuda de la función del sistema.

sistema(“hace eco de ti >> xyz);

sistema(“eco r >> xyz );

sistema ( “eco l >> xyz );

sistema( “echo d >> xyz );
Incluso si se presiona alguna tecla, el proceso principal escribe un carácter 'x' cada 500 ms para mantener JavaScript en ejecución.

Pontuação do jogo de captura de bola na tela usando Raspberry pi

Fig. 3: Puntuación del juego de atrapar la pelota en pantalla usando Raspberry Pi

Diagramas de circuito

Diagrama de circuito simple del juego Raspberry Pi para el juego de atrapar pelotas

Vídeo del proyecto

Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.