Les muestro primero un pequeño video de como funciona la calculadora. Esta acelerado.

De que se trata? un pequeño proyecto usando una raspberry pi pico, un display y un teclado. YuGiOh para los que no lo sepan es un juego de cartas como Pokemon o Magic The Gathering. Son 2 jugadores, cada uno comienza con 8000 puntos de vida y pierde el primero que llega a cero.

Primero un corto video de como funciona la calculadora.

Atajos:

  • Con * se cambia el jugador actual.
  • Con A se activa la suma de puntos al jugador actual.
  • Con B se activa la resta de puntos al jugador actual
  • Con los numeros se escribe cuanto se va a sumar o restar
  • Con D se confirma la operacion actual
  • Si un jugador ya llego a cero puntos:
    • Se activa C y al oprimir se resetea el juego
    • Se activa # y al oprimir se apaga todo

Que necesitan para la calculadora de YuGiOh con raspberry pi?

  • Les recomiendo una raspberry pi pico sin wifi, ya se que no se usa. Y les recomiendo especialmente esta que ya tiene los pines integrados: Raspberry Pi Pico
  • Teclado tipo Matrix de membrana: Matrix keyboard membrana
  • Pico ePaper: Este es un display especifico para la raspberry pi: Pico-ePaper

Codigo de calc de yugioh

Link al codigo de la calculadora de yugi

El codigo esta en github y es publico. Lo voy a explicar brevemente.

Tenemos 3 clases principales:

class Keyboard() Esta clase basicamente recibe e identifica las teclas presionadas. Lo que deben editar aqui son las lineas:

Esos van a ser los pines de la raspberry pi a los que estan conectados los pines del teclado. Mas abajo pueden ver las conexiones.

class EPD_2in9_Landscape() Esta clase basicamente viene de ejemplo en la pagina del display. Se le crearon unos cuantos metodos mas para borrar una linea o partes de una linea.

class Game() Con esta clase controlaremos el juego en si mismo. La linea que deben editar es: self.players_list=[“CHANCHO”, “JAVI”, “PERRO”]

para poner los nombres de las personas con las que jugaran.

Finalmente hay un codigo al final que inicia el juego (Game()) y espera por la siguiente accion. Una vez que se elije una accion, se espera nuevamente por otra accion.

Diagrama de conexiones para la raspberry pi pico

A la izquierda el numero de pin en pico-epaper 2.9. Y a la derecha el numero de pin en la raspberry pi pico.

Pin 17 => Pin 17

Pin 16 => Pin 16

Pin 15 => Pin 15

Pin 14 => Pin 14

Pin 12 => Pin 12

Pin 11 => Pin 11

Pin 30 => Pin 30

Pin 38 => Pin 38

Pin 39 => Pin 39

A la izquierda el numero de pin en la matrix. Y a la derecha el numero de pin en la raspberry pi pico.

Pin C4 => Pin 20

Pin C3 => Pin 10

Pin C2 => Pin 9

Pin C1 => Pin 7

Pin R4 => Pin 6

Pin R3 => Pin 5

Pin R2 => Pin 4

Pin R1 => Pin 2

Finalmente es solo conectar por USB, deployar el codigo, y ya.

No es mas comodo que una app de cualquier smartphone, pero sirve para aprender.