Saltar al contenido

Sistema de juego Arduino

julio 10, 2021
FB4647BHK46G7R5

Este proyecto es un sistema de videojuego simple. El proyecto se basa en un Arduino y un escudo Arduino llamado el tellymate. Este instructable describe el proceso de creación de prototipos del sistema y la construcción de las partes constituyentes. Cuando termine, el sistema puede crear gráficos simples basados ​​en texto o gráficos simples basados ​​en píxeles (hipotéticamente). A partir de ahora, solo he escrito un juego para él, pero puedo actualizar este instructivo una vez que haya creado más.

Paso 1: el juego

El juegoEl juegoEl juego

No entraré en grandes detalles sobre el juego, ya que no es tan sorprendente. El juego permite al jugador uno y al jugador dos mover una nave espacial hacia arriba y hacia abajo por los lados de la pantalla (piense en las ‘paletas’ del pong). Las dos naves espaciales pueden dispararse entre sí. Cada jugador tiene un número limitado de disparos y vidas, si tu oponente te dispara lo suficiente, te quedas sin vidas y mueres. El código incluido tiene tres pantallas finales (p1. Win, p2 win y empate) además de dos pantallas de instrucciones (p1. Instrucciones, p2. Instrucciones) una pantalla de inicio y una pantalla de historia. No soy bueno codificando, así que siéntete libre de sugerir mejoras.

EDITAR: También escribí una versión de PONG que ahora se agrega al instructable. Hay dos archivos PONG, uno es para dos jugadores (usa ambos controladores) y el otro es 1 jugador (usa un controlador). Ambas versiones tienen un límite de puntos seleccionable, por lo que puedes decidir cuánto tiempo quieres jugar. Actualicé la IA en la versión para un jugador y ahora puedes seleccionar el nivel de habilidad.

Para que PONG funcione, deberá cambiar los bancos de fuentes en el tellymate. Batsocks tiene un boceto de arduino que hará esto por ti, lee sobre ello aquí. Creé mi propio banco de fuentes en el software Batsocks y lo cargué en tellymate. Para cargar mi banco de fuentes al tellymate, conecte el tellymate al Arduino y ejecute el boceto llamado ‘PONG_fontbank’ (adjunto a continuación). esto reprogramará el banco de fuentes para que PONG funcione

comentarios bienvenidos.

Paso 2: creación de prototipos

Creación de prototiposCreación de prototiposCreación de prototipos

Después de escribir el código, construí el circuito en una placa con el Arduino intacto. Después de implementar con éxito el diseño, extraje el ATmega328 y lo incrusté (con un cristal) en la placa de pruebas. Esta es la primera vez que he creado un proyecto Arduino independiente (es decir, sin placa Arduino, solo ATmega), así que necesitaba ayuda. Este instructivo fue muy útil.

Paso 3: diseño

DiseñoDiseñoDiseñoDiseñoDiseñoDiseño

Antes de construir el sistema, se me ocurrió una idea de cómo irían juntas todas las partes. El diseño final es un tablero que se coloca encima del tellymate (me referiré a esto como el tablero de juego), dos controladores y un cartucho.

tablero de juego (sin diagrama)
El tablero de juego incluye el circuito de alimentación que suministra los 5v para el cartucho y los controladores. El tablero de juego también proporciona la conexión entre el tellymate y el cartucho, y la conexión entre los controladores y el cartucho. El tablero de juego no es técnicamente complejo (muy pocos componentes) pero tiene bastantes conexiones de soldadura

controladores
Los controladores son las unidades portátiles que permiten la entrada del usuario, tienen un potenciómetro, un LED y un botón. Los controladores están conectados al tablero de juego mediante un cable largo de 5 hilos.

cartucho
El cartucho aloja tanto el procesador del juego como la memoria (el ATmega), y se comunica con el tellymate en función de los datos que recibe de los controladores. El cartucho es esencialmente un Arduino perfboard muy reducido sin la conexión USB a serie o su propia fuente de alimentación. El cartucho es la sección técnicamente más desafiante de la construcción y requiere que tenga algunos conocimientos de soldadura y cómo manejar correctamente los componentes electrónicos. Tuve varios problemas al construir el cartucho debido principalmente a una conexión descuidada entre el ATmega y el cristal de 16MHz.

Paso 4: controladores

ControladoresControladoresControladoresControladoresControladoresControladoresControladoresControladoresControladoresControladoresControladoresControladoresControladores

Los controladores permiten a los jugadores comunicarse con el juego. Cada controlador tiene 1 potenciómetro (estoy pensando en agregar otro), 1 pulsador y 1 LED. Los controladores necesitan 5 cables para conectarse con el sistema de juego, 1 cable para la olla, 1 cable para el botón, 1 cable para el LED y 2 para la alimentación. La olla y el pulsador envían información al Arduino. El LED recibe información del Arduino.

construcción
Para construir los controladores, corté un trozo de perfboard y le hice dos agujeros para montar la olla y el botón. A continuación, conecté el cable y anoté qué colores corresponden a qué. Después de eso, soldé todos los componentes en su lugar.

Paso 5: tablero de juego

Juego de mesaJuego de mesaJuego de mesaJuego de mesaJuego de mesaJuego de mesaJuego de mesaJuego de mesaJuego de mesaJuego de mesaJuego de mesaJuego de mesa

El tablero de juego es el tablero que se conecta a la parte superior del tellymate y permite que los controladores se comuniquen con el Arduino / carro. El tablero de juego también proporciona los 5v regulados que necesitan el ATmega y el tellymate. El tablero de juego no es particularmente complejo desde el punto de vista de las piezas, pero tiene muchas conexiones para soldar y debe cablearse con cuidado.

construcción
Comencé midiendo una tabla que encajaría sobre el tellymate, luego corté la tabla y comencé a ensamblar el regulador de potencia. A continuación, conecté los controladores y la ranura del cartucho.

Paso 6: el cartucho

El cartuchoEl cartuchoEl cartuchoEl cartuchoEl cartuchoEl cartuchoEl cartuchoEl cartuchoEl cartuchoEl cartucho

El cartucho es básicamente un Arduino simplificado. Tiene diez pines para hablar con los controladores y el tellymate. Esta es probablemente la parte más desafiante de la construcción. Requiere que sepa cómo trabajar con chips y que pueda soldar en espacios reducidos.

construcción
Para construir el carro, comencé cortando la placa y soldando el zócalo del chip. Luego procedí a poblar el tablero. Una vez más, este instructivo es muy útil.

notas
Debido a que mi tienda de electrónica local no tenía un zócalo de chip lo suficientemente grande para el Arduino en el momento de la construcción, decidí usar un encabezado hembra. NO HAGAS ESTO. Resulta que esto creó una conexión muy descuidada entre el cristal y el Arduino. Esto significaba que el tiempo de Arduino estaba apagado y no podía comunicarse de manera consistente con el tellymate. Al final pude rectificar este problema usando dos enchufes de 14 pines en lugar de uno de 28 pines. En las imágenes, verá que hay dos grupos de condensadores cerámicos, esto se debe a que no tenía disponibles las tapas de 22pf necesarias y en su lugar usé en paralelo dos condensadores de 10pf y dos condensadores de 1pf. No hagas esto tampoco. Resulta que los condensadores de 10pf o el condensador de 20pf funcionarán bien, sin embargo, si tiene condensadores de 22pf, utilícelos.

Enlaces
Mapa de pines Arduino / ATmega328 / 168 aquí
A
cosa de la página del tablero de rduinos aquí (No incluí circuito de programación)

Paso 7: Ponlo todo junto

Ponlo todo juntoPonlo todo junto

El tablero de juego se conecta a la parte superior del tellymate, los controladores se conectan al tablero de juego, el carro se conecta a su ranura y el tellymate se conecta al televisor. ¡Enciéndelo y listo!

Sé el primero en compartir

    Comentarios

    close