Clon de Nintendo con Raspberry Pi


Recientemente se celebró   el 25 aniversario de la célebre consola de  Nintenedo,  de modo que la comunidad  de aficionados  ha querido rendirle un homenaje   a este dispositivo de juego clásico,  mediante la construcción de su propia versión actualizada gracias a la impresión 3D y la electrónica de la Raspberry Pi.

La caja  recreada   a imagen y semejanza de la versión   original, esta vez  se obtiene  impresa en 3D  alojando todos los componentes,  permitiendo ademas  un personalización total , pues se puede imprimir en su color favorito.

Existiendo los mini ordenadores Raspberry Pi y siendo más que suficientes para hacer funcionar en ellos varios emuladores de consolas como NES, SNES o incluso MAME, era cuestión de tiempo que se iniciara un proyecto como PIGRRL,  nombre realmente curioso    pues  esconde el diseño de la primera consola portátil impresa en 3D que funciona mediante una Raspberry Pi, una pequeña pantalla TFT y un controlador compatible.

Esta es la lista de la compra  (coste total alrededor de 90€):

  • Raspberry Pi Model B  ( descatalogado) o  en su defecto Raspberry Pi 3 modelo B
  • PiTFT Mini Kit –( pantalla TFT  con sensor capicitivo  pero puede usarse sin el sensor)
  • Cable GPIO Pi –   ( también sirve un  viejo cable IDE de 23 pnes de  los  usados   en ordenadores )
  • PowerBoost 500 –  ( convertidor  DC /DC  con salida a 5V DC)
  • Micro Lipo Charger   (circuito de carga para la  batería)
  • SNES Controller –   ( si no se tiene se pueden usar 10 mini-pulsadores roscados normalmente abiertos)
  • 2200mAh 3.7V  ( bateria de litio)ry
  • Power slide switch – ( cualquier interruptor pequeño nos deberia de servir)

Por supuesto, una vez tengamos todo el material podemos ir imprimiendo nuestra carcasa portátil en forma de Game Boy donde acomodaremos la Raspberry Pi una vez esté completamente configurada.

Las piezas necesarias las podemos comprar online por unos 90€, a los que habría que añadir la tarjeta SD que elijamos, por menos del precio de una Nintendo DS tenemos miles de juegos gracias a los emuladores libres que podemos utilizar en la Raspberry Pi dentro de PIGRRL.

Veamos   los  pasos para la construcción de esta ingeniosa consola:

 

1-Descargar la caja de Raspberry Pi con forma de Game Boy

 

Este proyecto consta de sólo dos piezas  que están optimizados para imprimir en cualquier impresora 3D FDM con un área de construcción mínima de 150mm x 150mm x 100mm.  

Para ello debemos descargarnos todos los archivos STL de DIY Raspberry Pi Game Boy en Thingiverse.

Piboy-top.stl
Piboy-bottom.stl
PLA @ 230
2 conchas
10% Infil
0,2 altura de capa
Velocidades de 90/120
Sin balsa
Sin soporte

Ajuste a presión :  Las dos piezas encajan juntas y se aseguran con tornillos philips.Los cargadores Raspberry Pi, PowerBoost 500 y Micro Lipo se montan en la parte piboy-bottom.stl con tornillos phillips # 6-32 x 1/2 ‘.

 

Los acabados en 3D dependen de cada impresión pero los diseños se han optimizado para ser impresos en ABS, al ser dos impresiones: parte frontal y parte trasera, de modo que podemos tener una Game Boy de dos colores .

 

 

2-Ensamblaje

Una vez descargado el modelo 3D de Game Boy para PIGRRL deberemos proceder al montaje, para ello requeriremos un soldador, todos los componentes citados  y pro supuesto algo de perseverancia ya que toca cablear a mano todo el proyecto.

Todos los diagramas simplificados y una clara explicación del proyecto se pueden encontrar en esta guía de Adafruit   paso a paso  , pero para entender  el montaje  mejro resumiremos  las partes mas importantes para que  el lector se haga una ideal del montaje  final

La siguiente ilustración es una referencia del circuito de alimentación y los botones del controlador de juego cuyos circuitos impresos se han reciclado de un viejo mando . La posición de los componentes no es exacta y tampoco esta  a escala.Si no se tiene un viejo mando obviamente se pueden usar pulsadores roscados ( aunque no quedara tan realista)

Gaming_circuit-diagram.png
Circuitos de potencia
La carga de la batería se realiza mediante uno de los circuitos que soldaremos y dado el mínimo consumo de la Raspberry Pi pronto comprobaremos que podemos jugar muchas horas al MAME con PIGRRL.
Utilizaremos una batería recargable grande para alimentar el PiGrrl durante unas horas! Para mantener la batería recargada, utilice una tarjeta MicroLipo o MiniLipo (que son lo mismo básicamente, sólo uno tiene un microB toma, el otro tiene una toma de miniB)
Lo bueno de esta batería es que es bastante pequeña y densa, pero es  de 2.7V  ( y NO  de 5V ) asi que se se usa  un convertidor cc/cc para elevar a 5V.

El convertidor  es  un PowerBoost500 que puede aumentar el 3.7V hasta  5V para alimentar a la RPi

Cuando la batería cae demasiado bajo, se encenderá una luz roja en el PowerBoost para avisarle que debe recargar la batería.

Usted puede recargar y jugar al mismo tiempo

Circuitos del teclado

Con el fin de hacer que la almohadilla de control se sienta como el original, vamos a «reciclar» un controlador SNES. Al abrirlo y cortar el PCB podemos reutilizar los elastómeros de goma y los botones.

La forma en que funciona el teclado es súper simple. Cada elastómero tiene un pedazo de material conductor en la parte posterior. Cuando presiona hacia abajo en la PCB, pone en cortocircuito dos cojines de oro juntos. Una almohadilla está molida, la otra almohadilla es la señal. Reutilizaremos el código GPIO de CupCade para que cada pad sea un pin RasPi. Cuando el pin se pone en cortocircuito a tierra, vamos a generar una pulsación de tecla

Gaming_diagram-buttons.png
Su teclado puede ser un poco diferente mirando pero no se preocupe  pues basta con trazar el cobre para identificar la traza de tierra común para cada conjunto de botones
A continuación se muestra una lista de conexiones de Raspberry Pi que se conectarán a los botones correspondientes. 1-26 son el número de cables en un haz de cables Pi, siendo 1 el cable blanco (tierra). No nos conectamos a los últimos 6 pines, ya que se utilizan para la pantalla PiTFT!
  1. n/c – not connected (3v3)
  2. connect to output of PowerBoost500 (5v0)
  3. LEFT BUTTON (SDA)
  4. n/c (5v0)
  5. RIGHT BUTTON – (SCL)
  6. connect to ground of boost (GND)
  7. DOWN BUTTON (GPIO #4)
  8. n/c (TXD)
  9. connect to ground on Dpad (GND)
  10. n/c (RXD)
  11. UP BUTTON (GPIO #17)
  12. START BUTTON (GPIO #18)
  13. A BUTTON (GPIO #27)
  14. Select/start ground pad (GND)
  15. B BUTTON (GPIO #22)
  16. SELECT BUTTON (GPIO #23)
  17. n/c (3v3)
  18. n/c (GPIO #24)
  19. n/c (MOSI)
  20. AB BUTTON ground pad (GND)
  21. n/c
  22. n/c
  23. n/c
  24. n/c
  25. n/c
  26. n/c

 

Para conectar Al GPIO lo mejor es usar un conector de 26 pines ( de los  usados en los conectores IDE de los HDD) . Retire los cables # 1, 4 , 8 , 10 , 17 , 18 , 19 . ¡No necesitaremos éstos también, así que recórtelos abajo!

Gaming_cut-wires-4_8_10_17_18_19-too.jpg

Estas  son las conexiones  a realizar

  • Izquierda DPad :Alambre de soldadura # 3 al botón izquierdo en el rastro expuesto del PCB de DPad. Hay un pequeño agujero que puedes enhebrar el cable.
  • Derecho DPad :Alambre de soldadura # 5 al botón derecho del PCB de DPad.
  • Abajo DPad ;Añada el alambre # 7 al botón de desconexión de la PCB de DPad. Pinzas son útiles durante la soldadura!
  • DPAD común :Alambre de soldadura # 9 a la mas de la DPad.
  • Up DPad :Alambre de soldadura # 11 al botón de arriba de la DPad.
  • Botón de inicio:Alambre de soldadura # 12 al botón de arranque en la PCB de arranque + seleccione.
  • Un botón :Solde el alambre # 13 al botón A en el A + B PCB.
  • Inicio Común + Seleccionar :Alambre de soldadura # 14 al suelo de la PCB de arranque + seleccione.
  • B Botón:Solde el alambre # 15 al botón B en el A + B PCB.
  • Botón Seleccionar:Solde el alambre # 16 al botón de selección en la PCB de Start + Select.
  • Común A + B: Alambre de soldadura # 20 a la tierra común del A + B PCB.
Gaming_Wire-_20-AB-ground.jpg

 

Como vemos el montaje de esta videoconsola impresa en 3D es relativamente simple  y quizás lo mas  laborioso  sea  las conexiones de los pulsadores realizando  las soldaduras y asegurándonos eso si  de que los cables son suficientes para que todo encaje en la propia carcasa.

Montada la energía  y los controles   ya solo queda montar la  pantalla  y la propia Raspberry Pi

Pantalla  PiTFT Mini Kit
Gaming_screen-solder-front.jpg

 

El  kit de pantalla táctil de 2.8 ‘incluye los extras que se necesita para montar la pantalla. Sólo necesita soldar los cabezales extraxuales macho y hembra 2×13 a la PCB. Asegúrese de revisar la  guía paso a paso haciendo clic en el enlace de abajo!

Montaje de PiTFT 2.8 ‘

Sugerencia de montaje; Aquí está una extremidad rápida en soldar esas cabeceras. Si tienes algo divertido, coloca un poco de tac en los lados de los cabezales para mantenerlos en su lugar mientras suelda y lo retira cuando hayas terminado.

 

 

3-Configuración de la tarjeta SD

Puesto que estamos usando la misma configuración de controlador en el CupCade también vamos a utilizar la misma imagen de tarjeta SD! Descargue esta imagen que tiene soporte NES

Este es un archivo grande (alrededor de 840 megabytes) y tomará un tiempo para transferir.

Después de descargar, la imagen del disco necesita ser instalada en una tarjeta SD (4 GB o más). Si eres nuevo en esto, el proceso se explica en Adafruit’s Raspberry Pi Lesson 1 .

4-Configuración de Pi

Conecte un teclado al PiTFT + Pi e inserte la nueva tarjeta SD CupCade.
El Pi puede arrancar y reiniciar para terminar la configuración (como expandir la imagen)
Una vez que arranque el Cupcade usted notará que la pantalla es vertical. ¡Tiene que girar la pantalla!

Pulse Alt-F3 para abandonar el software GAMERA y el shell. Inicie sesión con pi / frambuesa y edite /etc/modprobe.d/adafruit.confcon sudo nano /etc/modprobe.d/adafruit.conf

Y cambiar la línea fbtft a esto:

options fbtft_device name=adafruitts frequency=80000000 fps=60 rotate=270

 

A continuación, sudo reiniciar para que la nueva rotación activar!

Siempre se puede cerrar con un teclado conectado escribiendo ESC que saldrá del emulador / GAMERA

5-Cargar ROMs

Su PiGrrl puede ejecutar MAME ROMs, así como NES!  Haydocumentación sobre cómo instalar ROMs en la página tutorial de cupcade

Haga clic para obtener información sobre la instalación de ROMs
Para ROMs MAME, ¡sólo podrás jugar con estilos «horizontales / paisajistas»!

Para ROMs NES, necesita utilizar el formato de archivo .nes (no .ZIP!) Y colocarlos en la ruta de directorio siguiente.

~ / BOOT / fceu / rom 

Todas las ROM de NES deben estar en esta carpeta para que el emulador los ejecute.

 

Uan vez creada la imagen de ls SD , insertela  y pruebe el circuito con un micro cable USB conectado al puerto micro USB del Raspberry Pi. Conecte un teclado USB al lado del Pi para la entrada.

El PiTFT debería arrancar en la ROM del juego de   Aggregator

Recuerde que tiene que configurar la rotación de la pantalla para que sea 270 así que comprueba el paso anterior si aún no lo has hecho!

Coloque la junta de elastómero D-Pad sobre el PCB y coloque la parte de plástico en la parte superior. Presione el D-Pad hacia arriba y hacia abajo para probar una conexión sólida. Añadir el resto de las juntas de elastómero y seleccionar un juego para jugar la prueba.

Ejecutar Mario o algo similar para probar la latencia. Puede ser un poco difícil de jugar con las gomas asi  pero se sentirá más natural con la parte superior  montad  así que una vez probado todo ya es momento de terminar de montar todo  y cerrar  la caja.

Vemos el aspecto final donde quizás destaque  la tarjeta SD insertada , pero  lo cierto es que es una consola portátil mucho más versatil que la Nintendo DS o incluso la Playstation Vita, no es especialmente más potente pero dado su espíritu open source seguro que encontraremos decenas de emuladores que hacer funcionar con ella.

Además, podemos acompañarla con un mini teclado inalámbrico para poder realizar todo tipo de tareas con ella en cualquier lugar, aunque la pantalla sea táctil

En el siguiente vídeo de Adafruit podemos ver resumidamente el proceso de montaje completo para hacernos una idea completa de  lo relativamente sencillo que es el proceso de su construcción:

 

 

Como muchos de los proyectos que vemos realizados con impresoras 3D PIGRRL es completamente opensource y tenemos las instrucciones de montaje a nuestra disposición.

 

Imágenes de Adafruit y usuarios de Thingiverse

Actualización de la batería de una bicicleta eléctrica


A lo largo de los años  las baterías tanto  las de Ni/Cd como las iones de Litio terminan perdiendo su capacidad  , siendo necesaria su sustitución ,lo cual por cierto no es una tarea sencilla dado que no siempre están accesibles los recambios de estas.

Normalmente la baterías instaladas en las bicicletas eléctricas corresponden a configuraciones especificas  para cada modelo a la que se conecta, por lo que   dado a  que existen múltiples formatos ,tanto de compartimientos como de características eléctricas (tensión y capacidad en amperios /hora) se hace muy complicado reemplazarlas .

Para terminar de empeorar las cosas , en el caso de las batería de Ni/Cd  , éstas están compuestas por múltiples  células  que agrupándolas en serie o en paralelo nos producen la tensión y capacidad final, eso si unidas por laminas de niquel ,lo cual nos hace complejo su sustitución , a no ser que nos construyamos nosotros nuestra propia soldadora de puntos  para realizar precisamente las conexiones entre las diferentes celdas, las cuales  se pueden adquirir aparte en portales web especializados.

Como ejemplo ,vemos una batería  real  formada  por 20 celdas de 1,2V 7AH que en total nos viene a dar unos 24V (20X 1,2) y 7AH dado que  todas están conectadas en serie

 

IMG_20170714_230447[1]

Un procedimiento para reparar la citada batería , seria adquirir 20 baterías de Ni/Cd 1,2V 7AH  y sustituir las antiguas por las nuevas  usando laminas de Niquel  con  una soldadora de puntos  para realizar precisamente las conexiones entre las diferentes celdas.

Afortunadamente la tecnología de las baterías Litio proporciona ventajas superiores a la vieja tecnología de NiCD,    entre ellas una densidad de energia mucho mayor , con el consiguiente ahorro de espacio   y peso .

Como actualmente el precio no es una barrera ( de hecho  se ha invertido la tendencia), lo ideal es reemplazar las viejas baterias de nicd por una nueva  de Iones de Litio , siempre  que la tensión sea la misma y la capacidad sea igual o superior.

Para el ejemplo de    una bicicleta eléctrica de bajo coste,  usando una batería de  24v 10ah de litio  nos seria suficiente para alimentar un  motor de 24v   y de potencias comprendidas entre 350w  o 250w.

Las especificaciones de la batería elegida son las siguientes:

  • Tensión nominal: 24V
  • Voltaje de salida: 16.5-25.2 V
  • Capacidad de la batería: 10Ah
  • Dimensiones: 68x100x112mm
  • Peso total: 2kg alrededor
  • Circuito interno de la protección: sobrecarga, sobre la descarga, sobre la corriente, protección del cortocircuito
  • Peso de la batería: cerca de 1825g
  • Embalaje: PVC azul
  • Celdas de la batería dentro: Células grandes modelo 18650.
  • Ciclos de vida: Más de 1000 veces
  • Descarga de la batería :La corriente de pico máxima: 36A/Corriente máxima de funcionamiento: 18A

 

 

bateria

 

La mejora en cuanto a  dimensiones y peso suelen ser considerables , tal y como se puede ver en la siguiente imagen , donde prácticamente  por una tercera parte doblamos la capacidad con una batería de Litio:

IMG_20170714_230525[1]

 

Para controlar la bicicleta, dado que la caja de antigua  batería es demasiado grande, lo mas sencillo  es optar por una sencilla caja transparente donde  ademas del voltímetro de leds  (que suelen ir integrados en la caja de la batería) podemos conectar hasta 9 leds de alta potencia y los dos interruptores de corte del motor   y de la iluminación.

El esquema de conexiones de la caja propuesta es bastante sencillo pues se limita a solo dos interruptores , el voltimetro de leds que puede obtenerse de la caja original  y 9 leds de alta potencia que  se han obtenido de una luminaria de leds cuya fuente se habia quemado:

 

bicicleta lectrica

Resumidamente estos serian los pasos  a seguir  para realizar la conveersión:

  • Empezamos ubicando el voltimetro de leds que solo cuenta con dos cables : el negro o negativo que conectaremos a la mas general   y el rojo que conectaremos a la salida del interruptor general

 IMG_20170714_231241[1].jpg

  • Practicaremos dos agujeros en la caja para los dos interruptores ( el general   y el de la iluminación)

IMG_20170715_005900[1].jpg

  • Seguidamente contrariamos las conexiones de los dos interruptores  que irán  tanto a los leds como al cable del motor

IMG_20170715_005907[1]

 

  • El resultado como vemos es bajo la opinión del que escribe  bastante aceptable, mejorando  ademas en aspectos como la usabilidad pues ahora los controles de las luces y del motor se colocarían mucho mas accesibles

 

IMG_20170822_072409[1].jpg

 

 

 

  • Aunque el interruptor de encendido y  el voltímetro se podrian colocar en el mismo lugar  de la batería ( y nos ahorraríamos el cableado de tres hilos ) , en aras a mejorar la usabilidad se ha optado por llevar tres cables de 1 mm a la caja controladora:
    •  El negativo general   que ira conectado tanto  al motor  como  al negativo de la nueva batería
    • El positivo de la batería  , que nos servirá para alimentar los leds  o el motor en función de la posición de los interruptores
    • El positivo del motor  , el cual lógicamente viene de la caja para alimentar o no el motor brushless
  • Por ultimo , respecto a la nueva  batería , esta iría  donde  va el porta-baterías original  .

    IMG_20170822_072423[1]