JUEGO DE CARRERA DE AUTOS EN LCD Andrés Bastidas; Nathali Gordón; Verónica Grefa; Mónica Mejía; Juan Carlos Obregón Control con Microprocesadores, Nelson Sotomayor, MSc. 1 INTRODUCCIÓN El objetivo del presente proyecto es realizar un juego electrónico visualizado en LCD utilizando un microcontrolador PIC. El juego está orientado a crear un ambiente amigable de interacción con el usuario, en el cual se tenga la opción de generar números aleatorios que permitan darle movimiento a dos autos que se desplazan en un LCD, los cuales compiten para llegar a la meta. Los puntajes máximos obtenidos por los jugadores, de acuerdo a las instrucciones que se indicarán más adelante, son almacenados en la memoria EEPROM del microcontrolador, ya que esta información no debe ser borrada. El camino para conseguir los objetivos señalados anteriormente será utilizar de forma eficiente las herramientas que posee el microcontrolador PIC y el LCD, optimizando los recursos disponibles, tomando en cuenta para el diseño del juego todos los problemas que se podrían dar por uso incorrecto de parte de los usuarios. 2 DESCRIPCIÓN Se tiene un juego de carreras de autos con la participación de dos jugadores. Los jugadores tienen la posibilidad de acceder a un menú principal que mostrará opciones para iniciar un nuevo juego, instrucciones y ver los tres mejores puntajes. Al acceder a la opción de iniciar un nuevo juego, el programa solicita el ingreso de tres iniciales que identifiquen a cada uno de los jugadores. Después de esto se visualiza los autos en línea de partida. Para el desplazamiento por la pista cada jugador cuenta con un pulsante el cual sirve para generar un número aleatorio que simula un dado 1
electrónico (1-6). El movimiento de cada auto se visualiza en una fila del LCD y avanza tantas posiciones de acuerdo al número obtenido en dicho dado. El ganador del juego es aquel que recorra el LCD de principio a fin dos veces con el menor número de intentos. Para terminar la carrera el último intento debe generar el número exacto de pasos que le falta para llegar a la meta, de no ser así se deben realizar los intentos necesarios para completar la competencia y terminar el juego, lo cual se indica en la pantalla del LCD. Si el número de intentos registrados es menor que los alcanzados en competencias anteriores, este se guardará en los máximos puntajes con el respectivo nombre del jugador. Al acceder a la opción de instrucciones se desplegará en primer lugar el objetivo del juego, luego se mostrará el manejo de las teclas que cada jugador deberá emplear para desplazar su auto. Adicionalmente al seleccionar la alternativa para visualizar los mejores tres puntajes se observará el registro con los nombres de los tres mejores jugadores (almacenado en la memoria EEPROM del microcontrolador), primer, segundo y tercer lugar; es decir, quienes hayan llegado a la meta con el menor número de tiros en el dado electrónico. 3 DISEÑO ELECTRÓNICO Basándose en las características de teclado que se pueden encontrar en los diferentes modelos de teléfonos móviles que tienen juegos sencillos, se desarrollo un teclado con cinco pulsadores dispuesto de acuerdo a su función; es decir, arriba, abajo, izquierda, derecha y en el centro un botón de OK. Además, otros dos pulsadores para SELECT y CANCEL. El objetivo de esta disposición es brindar al usuario una mayor comodidad y facilidad de manejo debido a que la mayoría de personas ya están familiarizadas con este tipo de teclado. Para este sistema se utilizarán los siguientes elementos y dispositivos: Microcontrolador PIC16F877A Display de cristal líquido LCD 20x4 líneas Pulsantes A continuación se explica el funcionamiento de cada dispositivo usado para ejecutar el juego. 3.1 LCD Mostrará un menú principal para poder acceder a las instrucciones, al juego y a los máximos puntajes obtenidos por el jugador; además se podrá visualizar el desplazamiento de los autos de acuerdo al número generado por los dados. Tras encontrar dificultades para poder almacenar en la memoria RAM del LCD, se prefirió utilizar un caracter que tiene una forma similar a la de un auto para juego 2
electrónico, pues se consideró la mejor opción para evitar el problema de crear un símbolo propio, que pudo ser resuelto utilizando un LCD gráfico que permite dibujar cualquier tipo de imagen que se desee desplegar. 3.2 Pulsante para dirección RIGHT / PLAYER 1 : RIGHT se emplea cuando se jugadores y permite mover el cursor hacia el lado derecho considerando las restricciones que se tenga de acuerdo al número de variables a ingresar. PLAYER 1 permite avanzar un número aleatorio de pasos en la pista. Pulsante para dirección LEFT / PLAYER 2 : LEFT se emplea cuando se jugadores y permite mover el cursor hacia el lado izquierdo considerando las restricciones que se tenga de acuerdo al número de variables a ingresar. jugadores y permite elegir una letra variándola en forma ascendente. Pulsante para OK : se emplea para aceptar las opciones desplazadas en la pantalla LCD. Pulsante para SELECT : se emplea para seleccionar opciones de acuerdo al menú al que se haya ingresado. Pulsante para CANCEL : se emplea para regresar al menú anterior. 3.3 DIAGRAMA DE HARDWARE R1 C1 13 14 1 2 3 4 5 6 7 8 9 10 U1 OSC1/CLKIN OSC2/CLKOUT MCLR/Vpp/THV RA0/AN0 RA1/AN1 RA2/AN2/VREF- RA3/AN3/VREF+ RA4/T0CKI RA5/AN4/SS RE0/AN5/RD RE1/AN6/WR RE2/AN7/CS PIC16F877 RB0/INT RB3/PGM RB4 RB5 RB6/PGC RB7/PGD RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RC2/CCP1 RC3/SCK/SCL RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 33 34 35 36 37 38 39 40 15 16 17 18 23 24 25 26 19 20 21 22 27 28 29 30 RB0 RB3 RB4 RB5 RB6 RB7 RC0 RC1 RD0 RD1 RD2 RD3 RD4 RD5 RD6 RD7 PLAYER 2 permite avanzar un número aleatorio de pasos en la pista. Pulsante para dirección UP : se emplea cuando se ingresa los nombres de los jugadores y permite elegir una letra variándola en forma descendente. R6 R7 R8 Pulsante para dirección DOWN : se emplea cuando se RB3 C6 C7 C8 D1 D2 D3 R9 RB0 3
3.4 DIAGRAMA DE SOFTWARE 4 CONCLUSIONES Después de analizar las limitaciones que se encontraron al emplear un LCD de 16x2 líneas, debido a la poca capacidad de visualización de los caracteres necesarios para poder tener una interfaz amigable con el usuario y mas que nada, entendible para el mismo, se contempló la necesidad de ocupar un dispositivo con mayor capacidad de despliegue de caracteres, tras lo cual se tomó la decisión de adquirir un LCD de 20x4 líneas, que cubre los requerimientos considerados óptimos para desarrollar un juego visualmente más atractivo para quien lo maneja. Tomando en cuenta las ventajas que ofrece un teclado como el que se puede encontrar en los diferentes modelos de teléfonos móviles, se optó por adecuar mediante pulsadores uno de similares características y funciones. Para el manejo por software del teclado se recurrió al empleo de interrupciones para optimizar los recursos del microcontrolador. Considerando la funcionalidad de este proyecto se encontró que no existe la necesidad de realizar un respaldo de datos o energía. 4
BIOGRAFÍAS Carlos Bastidas. Nació el 06 de noviembre de 1984, realizó sus estudios secundarios en el Colegio Central Técnico, donde obtuvo su título de Bachiller Técnico Industrial en Electrónica Juan Obregón. Nació el 28 de noviembre de 1984, realizó sus estudios secundarios en el Colegio Municipal Sebastián de Benalcázar, donde obtuvo su título de Bachiller en Ciencias Básicas Nathali Gordón. Nació el 09 de diciembre de 1984, realizó sus estudios secundarios en el Colegio Experimental de Señoritas Simón Bolívar, donde obtuvo su título de Bachiller Físico Matemático Verónica Grefa. Nació el 19 de noviembre de 1984, realizó sus estudios secundarios en la Unidad Educativa Experimental Manuela Cañizares, donde obtuvo su título de Bachiller Físico Matemático Mónica Mejía. Nació el 10 de junio de 1983, realizó sus estudios secundarios en el Instituto Técnico Superior República del Ecuador, donde obtuvo su título de Bachiller Físico Matemático 5