Como bien sabe cualquiera que haya creado algo, mucho trabajo implica llevar una idea a su conclusión. Pero también existe una gran satisfacción en el proceso. Recientemente, [Willian] ha experimentado precisamente eso, compartiendo la alegría de crear un dispositivo de juego portátil casero desde cero. Ejecuta un clon de Tetris (y también Snake) creado por él mismo, y los resultados son excelentes.
El dispositivo de juego utiliza un ATmega328P programado a través del IDE de Arduino, y una pantalla LCD TFT a color de 1.8″. Está contenido en una caja con unos pocos botones como controles y funciona con tres pilas AAA. [Willian] tomó la inteligente decisión de ejecutar el microcontrolador a 8 MHz en lugar de los 16 MHz más comunes, ya que esto permite que la placa funcione a 3.3 V en lugar de 5 V. ¿Por qué es importante esto? La pantalla LCD también funciona a 3.3 V, y si todos los componentes pueden funcionar con la misma alimentación y niveles lógicos, esto simplifica considerablemente las cosas.
Además, crear una fuente de alimentación de 3.3 V es tan sencillo como utilizar tres pilas alcalinas en serie con un regulador LDO (de baja caída de tensión), lo cual es ideal para un dispositivo portátil. Cabe destacar que las pilas AA tienen una densidad y capacidad de energía considerablemente mayores que las pilas AAA y suelen ser la mejor opción, pero uno trabaja con lo que tiene, y a veces el espacio y el peso ahorrados por las AAA son demasiado buenos para dejarlos pasar.
El software incorpora enfoques notables para mantener la capacidad de respuesta y el rendimiento óptimos. En lugar de definir cada una de las piezas de Tetris como una forma 2D, [Willian] predefine cada pieza (y sus rotaciones) de modo que rotar una pieza sea simplemente un cambio de índice en una matriz, en lugar de una transformación que implemente una rotación. Además, los redibujos de pantalla completa son relativamente lentos a través de SPI y causan parpadeo, por lo que solo se vuelven a dibujar en la pantalla las celdas que han cambiado para mantener la capacidad de respuesta. El código está disponible en GitHub, y ofrece una excelente visión de cómo se implementan las cosas internamente.
La carcasa es simplemente de cartón, y cumple su función en el caso de [Willian]. Sin embargo, cabe señalar que el cartón es en realidad un material muy adaptable para la creación de prototipos. Con solo unos pocos consejos y un poco de cuidado, los productos de papel pueden convertirse en tus mejores aliados cuando se trata de prototipos únicos.
