Montaje del prototipo de interfaz ZeroDeck.

publicado en: Helvetios, Proyectos | 0

He acabado el montaje del interfaz ZeroDeck para poder controlar los tableros de juego que vaya diseñando. El separar el tablero de juego del interfaz de jugador me permite 2 cosas, primero puedo diseñar el tablero independientemente del interfaz y así puedes controlarlo por USB con un módulo autónomo como el ZeroDeck o conectarlo a un PC o incluso se podría conectar a un móvil y controlar el tablero desde él. Y segundo, el interfaz ZeroDeck puede evolucionar independientemente del tablero y servir para varios tablero diferentes.

El tablero actual Helvetios es solo un prototipo con el que diseñar la infraestructura de desarrollo y probar las tecnologías implicadas. En el futuro el tablero crecerá en tamaño y número de celdas, pero antes he de probar que todo funcione correctamente, incluso es posible que haya alguno rectangular o con otra forma.

Por ahora con este interfaz ya puedo ir desarrollando más fácilmente. Hasta ahora usaba una RPI4 para conectarla al tablero y con un circuito de expansión de los pines GPIO conectaba un teclado y una pantalla OLED SPI. Ahora tengo el programa de juego GamMa corriendo en una RPI Zero 2W que controla la pantalla, lee los pulsadores y enciende los leds que indicarán el estado/turno del jugador y en que fase del juego está. El circuito montado queda tal que así:

Circuito ZeroDeck TOP
Circuito ZeroDeck BOTTOM
ZeroDeck montado en su soporte, con las guías difusoras de leds.
Detalle de las aperturas de los conectores.

Las aperturas de los conectores de la Zerodeck permiten acceso a los conectores microUSB y mini HDMI de la RPI Zero. También tiene un conector propio de alimentación, ya que se puede alimentar directamente desde el tablero con un cable diseñado para ello y así sólo tener un alimentador para todo el conjunto. El circuito tiene otro conector lateral que permitirá expandirlo y hacer pruebas con otros circuitos. La idea es poder conectar un segundo o varios módulos iguales para cada jugador, y teniendo sólo un módulo ‘Master’ con la RPI Zero que controle el resto de interfaces. También ha de servir para probar otros módulos que tengo en mente, como un lector de tags NFC para que cada pieza pueda ir guardando sus estadísticas y características, y quizás un pequeño módulo de sonido para algunos efectos.

Por ahora las primeras pruebas son tal que así:

El uso de una RPI Zero tiene un handicap y es el desarrollo. Para poder desarrollar la aplicación GamMa de control del tablero he venido usando VSCode modo remoto en la RPI4 con buen resultado para interactuar, debugar y compilar. No es así con la RPIZero, porque esta no tiene una conexión ethernet y a través de wifi el modo remoto de VSCode no parece funcionar muy bien, con múltiples interrupciones. Tampoco debugar y compilar funcionan muy rápido en la RPIZero, así que sigo desarrollando en la RPI4 con VSCode y cuando tengo un cambio listo los sincronizo a través de Github en la RPIZero, donde lo vuelvo a compilar, ya que tienen núcleos diferentes. Por ahora tendré que desarrollar así, quizás pruebe a automatizarlo algo más o usar NFS.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *