Tabla de contenido:

Juego de Sudoku Arduino Sorta: 3 pasos (con imágenes)
Juego de Sudoku Arduino Sorta: 3 pasos (con imágenes)

Video: Juego de Sudoku Arduino Sorta: 3 pasos (con imágenes)

Video: Juego de Sudoku Arduino Sorta: 3 pasos (con imágenes)
Video: Charlie Charlie el juego de los lapices 2024, Noviembre
Anonim
Juego de Sudoku Arduino Sorta
Juego de Sudoku Arduino Sorta

A mucha gente le gusta jugar al Sudoku ya los nietos les gustan los juegos de adivinanzas, así que decidí hacer un juego portátil “Sorta Sudoku”. En mi versión, el juego es una cuadrícula 4x4, pero solo se proporciona un número. La idea es adivinar el resto de números en el menor número de intentos. Es un juego simple pero puede ser un poco adictivo si buscas la puntuación perfecta de 15. El juego requiere tanto un elemento de suerte como de lógica y la mejor puntuación que he visto hasta ahora es 16. Echa un vistazo porque incluso Si no está interesado en crear el juego, es posible que haya algunos elementos del software que pueda utilizar en uno de sus propios proyectos.

Paso 1: hardware

Hardware
Hardware
Hardware
Hardware
Hardware
Hardware

El hardware puede basarse en prácticamente cualquier versión de Arduino. Hice el prototipo usando un Nano y luego quemé el código en un chip ATMega328. Ese es el mismo chip que se usa en el Nano, pero usarlo por sí solo permite una construcción más compacta y menos consumo de energía. Como puede ver, construí el circuito en una pequeña placa que se acopla al módulo LCD. El otro aspecto que es diferente es que el Nano funciona a 16 MHz usando un cristal externo, pero yo elegí usar el oscilador integrado de 8 MHz para el chip ATMega328. Eso ahorra piezas y energía.

La pantalla LCD de 2004 se conecta al Arduino de la misma manera que una pantalla LCD 1602. Una diferencia interesante está en el direccionamiento de las ubicaciones de visualización. Obviamente hay una diferencia porque hay cuatro líneas en lugar de dos pero, en el 2004, la tercera línea es una extensión de la primera línea y la cuarta línea es una extensión de la segunda línea. En otras palabras, si tuviera un programa de prueba que acaba de enviar una cadena de caracteres a la pantalla LCD, el carácter 21 aparecería al comienzo de la tercera línea y el carácter 41 volvería al comienzo de la primera línea. El software maneja esa diferencia con una tabla de búsqueda de direcciones LCD.

La entrada para el juego es una matriz de conmutación 4x4 casera. Cada interruptor corresponde directamente a la ubicación equivalente en la pantalla. También hay un interruptor de encendido y un interruptor de reinicio. El interruptor de reinicio borra el juego anterior y genera un nuevo juego.

Decidí hacer que mi versión funcionara con batería, así que utilicé una batería común de iones de litio 18650 de 3,6 voltios. Eso requirió que agregara una placa pequeña para permitir la recarga USB y otra placa pequeña para aumentar el voltaje de la batería a 5 voltios para la pantalla LCD y el chip ATMega. Las imágenes muestran los módulos que utilicé, pero también hay módulos todo en uno que hacen ambas funciones.

Paso 2: software

El software es el mismo para el chip Nano y ATMega328. La única diferencia está en el método de programación. Utilizo mi propia versión básica del software LCD y el software de decodificación de matriz de teclado. Estos son archivos de "inclusión" separados para el proyecto.

Los comandos "random" y "randomSeed" se utilizan para ayudar a crear el juego. Agregué un guardado en EEPROM de la "semilla" para asegurar que se genere una secuencia diferente en cada encendido. Las líneas del rompecabezas se derivan de una matriz de búsqueda de 24 elementos. Las primeras tres líneas se seleccionan al azar de la tabla, con verificaciones para asegurarse de que una línea seleccionada no entre en conflicto con una línea anterior. La última línea se completa manualmente porque solo habrá un patrón posible en ese punto. Después de eso, solo es cuestión de escanear la matriz del teclado y convertir las pulsaciones de teclas en números.

Para adivinar un número, presione el interruptor correspondiente repetidamente. Cada pulsación aumenta el número mostrado. Si sobrepasa el número que desea, siga presionando. Si suelta el interruptor por un segundo, se bloqueará en el último número mostrado. Si el número es incorrecto, se borrará y podrá volver a intentarlo. Cada conjetura incrementa el contador mostrado y una vez que se adivina correctamente un número, ese interruptor de matriz se desactiva de manera efectiva.

Paso 3: pantallas

Muestra
Muestra
Muestra
Muestra
Muestra
Muestra

A continuación se muestran algunas imágenes de las distintas pantallas.

Recomendado: