Anda di halaman 1dari 10

Interfaces Graficas De Usuarios y microcontroladores

Tema: Programacin de juego en lenguaje PyGame y creacin de receptor y emisor infrarrojo.

Integrantes: Guillermo Henrquez. Cristian Fuentes. Profesor: Luis Alberto Caro. Fecha: 1 de Diciembre de 2011.

ndice.

Contenido

pgina

Introduccin.. Desarrollo y Explicacin de cdigos.............

3 4-6

Pantallas de salida....... 7-8 Conclusiones.... Referencias 9 10

Introduccin
En el presente informe explicaremos como fue desarrollado un juego en lenguaje de programacin Python, utilizando la librera PyGame y PySerial, el cual ser controlado mediante el uso de microcontroladores, por medio de un receptor infrarrojo el cual recibe datos de un emisor infrarrojo, que cumple la funcin de control para el juego. Explicaremos las partes ms fundamentales del cdigo de PyGame, y tambin explicaremos las distintas configuraciones que utilizamos en el microcontrolador 16f628 y en el 16f684.

Desarrollo y Explicacin de cdigos


Codigo de el emisor infrarrojo:
include "modedefs.bas" esta librera contiene las constantes utilizadas para la transmisin serial VRCON = %11101100 voltaje de referencia interno de 2,5V en RB2 VREF comn para ambos comparadores '(12/24)*5 = 2,5 volts vref CMCON = %00000011 configuracin de los comparadores donde VREF es comn para ambos(RB2) PR2 = %00011001 configuracin del pwm ciclo de trabajo al 50% oscilacin a 38 khz CCPR1L = %00001101 CCP1CON = %00001100 TRISA = %00000001 TRISB = %00000110 'Usamos el B1,2 como entrada de botones,B3,4 salida MOdulada IR T2CON = %00000100 comando Var Byte definimos el comando de tipo Byte e_m: COMANDO=0 If PORTB.1 = 1 Then comando.0 = 1 Endif If PORTB.2 = 1 Then comando.1 = 1 Endif comando.2=CMCON.6 Serout PORTB.4, T2400, [comando] Goto e_m End Si el botn presionado proviene del puerto b1 entonces pintamos el bit cero del byte comando, y si el botn proviene del puerto b2 pintamos el bit 1 del byte comando, el bit 2 del byte comando toma el valor de la salida del comparador, enviamos el comando por transmisin serial a 2400 bps.

Codigo receptor infrarrojo: include "modedefs.bas" define osc 4 configuramos la frecuencia del resonador comando var byte definimos comando de tipo byte comando=0 'TRISA=%00000100 'TRISB=%00000000 e_m: serin porta.2,N2400,comando serout portb.2,N2400,[comando] pause 10 goto e_m end Leemos el dato recibido mediante transmisin serial, dentro del Byte comando y la reenviamos por el puerto b2 a 2400 bps hacia el computador u otro receptor. En la siguiente imagen podemos ver que por medio de estructuras de datos asignamos atributos a una clase para de esa forma manejar los diversos objetos de manera independiente uno del otro.

La siguiente rutina corrobora, que el submarino se mantenga dentro de los limites indicados por nosotros dentro de la pantalla.

En la siguiente rutina se asigna el tipo de bote aleatoriamente que aparecer dentro de la pantalla de nuestro juego por medio de la funcin choice del modulo random.

Las siguientes funciones son las encargadas de manejar los movimientos que el submarino de nuestro juego puede realizar.

Pantallas de salida
En la siguiente imagen podemos apreciar como luce el emisor infrarrojo:

En la siguiente imagen apreciaremos como luce el receptor infrarrojo el encargado de recibir los datos:

En la siguiente captura de pantalla veremos como luce la interfaz de nuestro juego realizado en pygame:

Conclusiones C1: La integracin de diferentes reas como microcontroladores e interfaces grficas, nos abren una gama de posibilidades inmensas a la hora de querer realizar un proyecto llamativo e innovador. C2: Este proyecto nos permiti poner a prueba nuestros conocimientos adquiridos durante el semestre en el curso de microcontroladores, debido a que trabajamos con hardware y no con simulaciones, lo cual no nos daba margen a cometer equivocaciones. C3: El hecho de poder controlar un software realizado por nosotros, por medio de hardware que tambin fue configurado y ensamblado por nosotros, nos permite poder pensar en diversos proyectos a futuro los cuales podran servirnos en el mundo laboral, y el nico lmite para poder desarrollar diversos sistemas que estn compuestos por estas reas es nuestra creatividad y esfuerzo.

Referencias 1.- En el siguiente sitio se obtuvo informacin sobre la librera Pygame y cmo utilizarla. http://www.pygame.org/docs/ 2.- Tambin utilizamos la API de Python para comprender el funcionamiento de algunas funciones. http://docs.python.org/c-api/

10

Anda mungkin juga menyukai