Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Video Juegos de Los 80 PDF
Video Juegos de Los 80 PDF
Programacin con
microcontrolador y
desarrollo de hardware
para la realizacin de
videojuegos de los aos
80
PFC presentado para optar al ttulo de Ingeniera
Tcnica Industrial especialidad ELECTRNICA
por Albert Lpez Buil
Resum.......................................................................................................... 7
Abstract........................................................................................................ 8
Agradecimientos............................................................................................ 9
3
6.2. Dimensionado y seleccin de componentes .................................... 59
6.3. Clculos justificativos ................................................................... 61
6.4. Especificaciones de componentes .................................................. 63
Capitulo 7: Software: Diseo y programacin ......................................69
7.1. Herramientas de desarrollo........................................................... 69
7.1.1. Programacin con CCS ........................................................... 69
7.1.2. Entorno de programacin Proteus ........................................... 72
7.1.3. Grabacin del programa al PIC ............................................... 75
7.2. Diseo de los juegos .................................................................... 76
7.2.1. Juego de Frontn................................................................... 77
7.2.2. Juego Pong de 2 jugadores..................................................... 79
7.2.3. Juego de futbol ..................................................................... 80
7.3. Programacin .............................................................................. 81
7.3.1. Configuracin del PIC............................................................. 81
7.3.2. Control de la matriz de led: MatrixLib.c ................................... 82
7.3.3. Programa principal y funcines ............................................... 83
7.4. Implementacin de los juegos ...................................................... 89
7.4.1. Juego de Frontn................................................................... 89
7.4.2. Juego Pong ........................................................................... 90
7.4.3. Juego de futboln ................................................................... 91
Capitulo 8: Viabilidad econmica ..........................................................93
8.1. Costes del prototipo ..................................................................... 93
8.1.1. Costes de material................................................................. 93
8.1.2. Costes de ingeniera .............................................................. 95
8.1.3. Costes indirectos ................................................................... 97
8.1.4. Costes totales del prototipo .................................................... 97
8.2. Costes de produccin y venta en serie ........................................... 98
8.2.1. Clculo unitario para venta de 2.500 unidades ......................... 98
8.2.2. Clculo unitario para venta de 5.000 unidades ......................... 99
8.2.3. Balance de ventas segn resultados obtenidos ......................... 99
8.3. Garanta y venta final................................................................... 99
8.3.1. Mantenimiento y garanta....................................................... 99
8.3.2. Clculo del precio final y rebajas por lotes ............................. 100
Capitulo 9: Previsin de cronogramas ................................................103
9.1. Estimacin de tiempos y ejecucin .............................................. 103
4
9.2. Fases de las distintas soluciones ................................................. 105
Capitulo 10: Mejoras y conclusines...................................................107
10.1. Mejoras en futuras ampliaciones ................................................. 107
10.2. Conclusiones ............................................................................. 108
Capitulo 11: Pliego de condicines .....................................................109
Capitulo 12: Bibliografia .....................................................................111
Anexo A: Esquemas y planos ..............................................................113
5
6
RESUMEN
El presente proyecto se basa en el diseo y fabricacin de una placa
destinada para jugar a distintos tipos de juegos basados en los juegos
electrnicos que haban en los aos 70 y 80, tpicos de leds por la
tecnologa de se momento. En nuestro diseo estarn comandados por
algn tipo de micro controlador
RESUM
7
ABSTRACT
The current project consists of a design and building of a board ready to
play different types of games based on the classic 70s and 80s electronic
games, which typically used the LED technology. In our Project, there will
be commanded by a microcontroller.
The developed games, which are a Fronton game, a two-player Pong and a
soccer simulation game, will complement all the hardware and will verify its
proper operation.
8
AGRADECIMIENTOS
Primero de todo, me gustara agradecer en general a toda la comunidad
universitaria el soporte docente recibido tanto de profesores como alumnos
que entre todos ellos han ayudado a complementar mis conocimientos de
electrnica y sin ello ste proyecto no sera posible.
Por ltimo, recordar a todos aqullos compaeros que por distintos motivos
compartieron conmigo algn tiempo durante la carrera por su amistad,
ayuda y buenos momentos.
9
10
CAPITULO 1
INTRODUCCIN
1.1. Objetivos
El objetivo final de este proyecto es la creacin de un juego electrnico
compuesto por un microcontrolador con el software del juego y la utilizacin
de una pantalla tipo LCD o LED para la visualizacin y la interaccin con l.
Objetivos generales.
Esta parte del proyecto tendr bsicamente tres puntos generales a realizar
donde quedarn ms detallados en los objetivos especficos.
Objetivos especficos.
11
- Buscar las alternativas existentes en cuanto lenguaje de
programacin y elegir una.
- Encontrar un grabador compatible con el microcontrolador a
utilizar y realizar prcticas con l.
- Encontrar un entorno de programacin adecuado al lenguaje y
microcontrolador a utilizar.
- Estudiar el hardware necesario que complemente la interaccin
del microcontrolador y el display de leds.
Para cumplir los objetivos descritos, se deber crear un mtodo para poder
ejecutarlos por lo que primero de todo se deber hacer un estudio de
distintas alternativas de microcontroladores a utilizar donde se debe mirar
las caractersticas de cada uno de ellos para ver si pueden cumplir los
requisitos que se requieren para el posterior desarrollo.
12
requisitos de corriente o otros tipos de circuitos complementarios como un
decodificador.
Aparte, junto con las diferentes etapas de diseo se har un estudio de los
antecedentes y de mercado de los juegos electrnicos en los aos 70.
13
funciona junto la placa diseada. Se aadir un presupuesto final y se
aadir los planos anexos y la bibliografa correspondiente.
Esto viene dado porque en la actualidad hay una fuerte competencia no solo
en los juegos sino en las tecnologas que se utilizan en las consolas y uno
de los puntos clave es la innovacin en aspectos como la forma que tiene el
usuario de interactuar con el juego. El juego electrnico de ste proyecto no
presenta ningn sistema avanzado ni novedoso en cuanto a juego y
tampoco unos grficos espectaculares en 3 dimensiones como los que
tienen los juegos de hoy da.
14
CAPITULO 2
ANTECEDENTES
FUENTE blogdeclasicos.com
15
trayectorias que interactuaba con un osciloscopio y tena la posibilidad de
poder jugar dos personas humanas.
En los aos 60, un ordenador conocido como PDP-1 que funcionaba con
tarjetas perforadas y unas caractersticas tcnicas muy limitadas sirvi para
que un grupo de estudiantes del MIT (Instituto Tecnolgico de
Massachusetts) creara el Spacewar!. Un juego de naves muy sencillo donde
dos naves deberan destruir-se entre ellas.
FUENTE computerhistory.com
16
proyecto, de crear una videoconsola, un sistema de hardware preparado
para el soporte de distintos juegos, la conocida Atari.
FUENTE web8bits.com
17
el usuario con pantallas lcd monocromticas, con un sistema de control
basado en botones de goma y una alimentacin mediante pilas pequeas de
reloj.
As, con una amplia gama de hasta 59 tipos de juegos conseguira situarse
por arriba de otras como Casio, Tigger electronics o Mattel.
18
Estreo FM de 4 canales, Salida: altavoz (10mW), auriculares
Sonido
(2mW)
Otro factor que hizo que la consola se hiciera popular y vendiera miles de
copias fue que la tecnologa referente a los juegos electrnicos se mejorase
en grandes proporciones ya que solo exista en videoconsolas u ordenadores
ofreciendo ventajas como:
19
- Gran cantidad de accesorios: iluminacin para pantalla, conectores,
fundas y ya en la dcada de los 90 una impresora o una cmara
fotogrfica entre otros.
En 1989 Atari sac al mercado la Atari Lynx, una consola con pantalla a
color superior a la Game Boy pero que comercialmente no destac y se
vendieron 2 millones de unidades. Ofreca las ventajas de la Game Boy
como el juego mediante cartuchos, buen sonido y una pantalla LCD a color
y accesorios muy interesantes como un sintonizador de televisin.
FUENTE museodelvideojuego.com
20
CAPITULO 3
ESTUDIO DE MERCADO
Por otro lado, aunque sean juegos electrnicos de mayor dimensin, las
mquinas recreativa tuvieron su auge desde principios de la dcada de los
80 en centros de ocio, bares y algunos particulares ms afortunados para le
poca.
21
Las recreativas estaban destinadas para un gran sector en el mercado ya
que cualquier persona que quisiera con unas monedas poda hacer unas
partidas. En la actualidad ha disminuido mucho el mercado, ya que solo hay
en centros de ocio o personas interesadas en adquirirlas y ha disminuido
mucho el mercado de estas. Cabe destacar que han sido pioneras en un
sector que hoy da est en constante evolucin y que mueve miles de
millones en todo el mundo, el sector de los videojuegos.
22
Al margen de los fracasos, siempre han existido empresas lderes en el
sector donde sobre todo desde la dcada de los 90 todava tienen una clara
competencia en el mercado, impulsado tambin por las videoconsolas no
porttiles. En ste caso las empresas lderes, Sony y Nintendo llevan
durante sta ltima dcada, una gran competencia para ser primeros en el
mercado con los modelos PSP y Nintendo DS.
23
Igual que en las videoconsolas porttiles, en el mbito de la telefona los
videojuegos con ms xito son los que utilizan las ltimas tecnologas del
mercado y las que ms llaman la atencin de los consumidores como las
que ofrece el Iphone que cuenta con una pantalla tctil y un sensor de
gravedad que potencia una mejor interaccin del usuario con el juego.
FUENTE universalcpu.es
FUENTE playconsola.com
24
- Cmara fotogrfica incorporada.
- Comunicacin Wireless con estndar IEEE 802.11 y seguridad
WPA/WPA2.
- Diferentes botones, joystick y sensor de movimiento.
- Sonido con altavoces estreo.
25
El mantenimiento, muchas de las empresas, optan por tener sus puntos de
servicio tcnico en las principales ciudades para ahorrar costes, ya que es
ms barato enviar una partida de hardware a reparar a un pas vecino que
no abrir un servicio tcnico fsico en cada ciudad. Tambin todas estas
empresas ofrecen atencin al cliente mediante red telefnica o Internet en
el respectivo lenguaje, en la mayora de casos, de cada pas.
26
CAPITULO 4
NORMATIVA Y
ASPECTOS LEGALES
El producto que se disea y fabrica con este proyecto, deber estar sujeto a
una serie de normativas y aspectos legales que se citarn a continuacin.
Para ello se ha hecho un pequeo trabajado de campo para investigar
posibles normativas a tener en cuenta que debe cumplir el producto final,
tambin se aadir un apartado en el anexo del CD con la recogida de
algunas de las normativas citadas.
Plomo
Mercurio
Cadmio
Cromo VI o Hexavalente
PBB (Usadas en plsticos).
PBDE (Usadas en plsticos).
27
Directiva 91/157/CEE (Pilas y acumuladores).
Copyright
En Espaa existe una ley que regula el contenido de los videojuegos ya que
pueden tener contenido no apto para todas las edades, y es por ello que un
jurado debe evaluar el contenido del juego y posteriormente debe ser
etiquetado y catalogado segn un rango de edad. Si el videojuego no pasa
este test, no puede ser comercializado.
28
En nuestro caso, el videojuego no tiene grandes complicaciones en
cuestiones ticas, ya que los juegos propuestos no son violentos ni tienen
contenido sexual que son los temas principales a evaluar. Adems la
visualizacin grfica formada por leds tampoco representara un estmulo
negativo a ningn tipo de pblico.
Por otra parte, cabe destacar que las leyes referentes a contenidos de
juegos electrnicos, y que no afectan en este caso, son mayoritariamente
para juegos electrnicos tipo mquinas recreativas donde existe una
legislacin general y especfica para algunos casos (ej. Maquina dardos) y
adems cada municipio puede especificar las suyas.
Esta directiva exige que los pases de la Unin Europea implanten una
legislacin nacional para los fabricantes e importadores de aparatos
elctricos y electrnicos.
29
30
CAPITULO 5
INGENIERIA DE
CONCEPCIN
Atmel AT89C51RC
31
Figura 12. Patillaje del Atmel AT89C51RC.
Se debe destacar las ventajas e inconvenientes respeto los PIC para tenerlo
en cuenta como criterio al escoger una solucin para el montaje del
proyecto.
32
- El precio de los grabadores para el volcado del software al
microcontrolador, en el caso de Atmel son muy caros en el orden de
unos centenares de euros a unos pocos miles y en el caso de los PIC
cuestan de 40 a 70 euros la mayora.
- Segn catlogos, los microcontroladores de Atmel son algo ms
baratos que sus homlogos PIC, aunque en el caso de ste proyecto
al ser un prototipo y no requerir gran cantidad de dispositivos, no se
tendr en gran importancia ste detalle.
PIC18F4520
33
En cuanto a interrupciones tiene un PIN mas para interrupciones externas
con un total de 3 (INT0, INT1, INT2) donde se pueden manejar con un total
de 10 registros para establecer las prioridades.
PIC16F1937
34
en caso de querer utilizarlas. Contamos con un total de 5 puertos (RA, RB,
RC, RD, RE) todos bidireccionales. En ste modelo solo existe un solo pin de
interrupcin (INT) configurable desde el registro INTCON y mediante los
registros PIE1, PIE2, PIE3 dependientes del primero.
35
ste tipo de LCD tiene estandarizado el nmero de pines a 16, as que
haran falta 2 puertos del microcontrolador elegido para hacerlo funcionar.
Entre sus pines ya definidos hay 8 para el bus de control y 8 ms para
controlar opciones de la pantalla como la activacin, retro iluminacin o
indicar si se entra una instruccin o dato.
Cada LCD tiene sus propias instrucciones para inicializarse y se debe tener
en cuenta el nmero de filas-columnas que tiene ya que delimitar el
espacio de juego, en ste caso encontramos pantallas de diversos tamaos
aunque quiz demasiado estrechos.
Una de las ventajas de utilizacin de ste tipo de LCD es que hay gran
cantidad de informacin sobre su uso interno y es muy similar en todos los
modelos. Ya los propios fabricantes en sus hojas de especificaciones
muestran el cdigo directo a enviar por el bus de datos para realizar
funciones tpicas como el encendido de la pantalla, la limpieza de caracteres
en pantalla o lectura/escritura a la RAM del LCD.
36
En el acceso a la DD RAM se leer el valor de los caracteres a mostrar en
cdigo ASCII, para la CG RAM se leern directamente los bytes
construyendo el carcter diseado previamente.
37
bloques, de esta forma conseguimos tener un espacio mayor en cuanto a
nmero de leds.
38
5.2 Solucin propuesta
5.2.1 Diseo y componentes electrnicos.
El problema de control es debido a que los puertos del PIC son limitados, en
nuestro caso 4 puertos tiles con 8 bits cada uno, para hacer una
estimacin prudente del numero de puertos para controlar el sistema
matricial, se contabilizan 2 de los 4 puertos con el problema de que la
matriz como mximo debe ser 8x8.
ste problema tiene una sencilla solucin y es poner en serie dos matrices
de leds, uniendo las filas de uno con la del otro y multiplexar las columnas
de los dos para poderlas controlar desde un solo puerto del
microcontrolador.
39
Figura 20. Aspecto interno de dos pantallas de displays
matriciales unidas en serie.
En el caso del ejemplo grfico, si cada puerto del PIC tuviera solo 4 pines,
se podra controlar el encendido de uno de los leds enviando 1 lgico a la
fila deseada, y un 0 lgico a la columna deseada utilizando un
desmultiplexor complementario pero conservando el nmero de puertos
utilizados en el PIC.
Una vez elegidos los elementos, y vistos los elementos necesarios que
complementan el montaje, podemos realizar un esquema de bloques
general con lo que contar el diseo.
Componentes complementarios
Modulo de control Desmultiplexor,
PIC Driver
40
41
En la figura anterior se muestra un esquema ms detallado del montaje
teniendo en cuenta que se utilizar 4 matrices de leds puesto que el tamao
de filas-columnas no es muy elevado y se desea tener una superficie de
juego importante. Tambin se detalla la posicin de los elementos
complementarios como el desmultiplexor, el driver de corriente elegido y las
pertinentes protecciones para los leds.
La opcin elegida como driver puede ser el modelo ULN2803, muy utilizado
en proyectos donde puedan surgir problemas con la corriente de los leds,
capaz de dar en su salida hasta 1Amper.
42
Figura 22. Sistema de puntuacin directa por microcontrolador.
En el caso de utilizar ste tipo de marcador, para hacer un reset cada vez
que se inicia una partida debera hacerse por software enviando a la
entrada de 4 bits desde el microcontrolador un estado lgico de 0.
43
Figura 23. Sistema de puntuacin indirecta utilizando un
contador universal 74192.
Hay dos posibles juegos que se podran implementar en la placa ideada que
especialmente me gustara hacer, por una parte el Auto Race y por otra el
Arkanoid ya que el primero he podido jugarlo en su versin original y el
segundo es un juego hoy da muy popular sobre todo en plataformas de
telefona aunque tambin me gustara implementar juegos como el pong,
muy famoso en los aos 80.
Juego Arkanoid
44
y a la vez que se tenga el suficiente espacio para mover la paleta de
izquierda a derecha y viceversa.
La pelota, una vez se detecte una colisin con uno de los bloques de
la parte superior (1 led) deber rebotar en sentido opuesto volviendo
a la parte inferior y dejando el led con el que haya colisionado
apagado. De esta forma la ronda se finalizar al conseguir apagar
todos los leds de la pantalla tal como se haca en el Arkanoid original.
45
Juego Auto Race
Este juego tambin puede funcionar con 4 botones, en este caso tendremos
uno de control para resetear la partida y el marcador de puntuacin que
podra marcar el nmero de carreras realizadas ya que este juego no tiene
puntuacin, y otro para iniciar la partida al encender la maquina.
Por otra parte, los 2 botones restantes son necesarios para la direccin del
coche ya que se debe controlar de forma horizontal para poder evitar los
obstculos que vayan bajando de la pantalla.
46
Como ya se ha mencionado, se puede implementar un panel que cuente las
vueltas realizadas o las vueltas que queden por realizar, recordemos que el
total de vueltas en el juego original para ganar son 4. Para completar una
vuelta, a diferencia del original, en ste caso se puede contabilizar un
tiempo exitoso sin colisiones.
47
48
CAPITULO 6
INGENIERIA DE
DETALLE
El montaje del prototipo est dividido en tres bloques que se montar cada
uno en placas individuales, por una parte tenemos el bloque visual que se
conformar bsicamente de una matriz de led rojos, un segundo bloque que
ser el contador visual de las puntuaciones de los juegos donde se utilizar
dos displays de siete segmentos. Por ltimo el bloque de control donde se
hubicar el PIC, la electrnica de control de la matriz de led y los botones
para controlar los juegos.
Para unir la placa visual con la otra placa, se ha utilizado dos conectores SIL
donde se controlar por una parte las filas (10 en total) y por el otro las
columnas (14 en total) desde la placa de control.
50
6.1.2 Bloque contador del juego.
Los contadores utilizados, tienen un pin de reset (pin 14) que se controlar
directamente desde el PIC para hacer el reset del contador, para ello solo
har falta generar un cambio de flanco donde segn el datasheet podremos
hacer el reset pasando a un estado alto y volviendo a uno bajo. Esta funcin
la haremos mediante software y se detallar en su correspondiente
apartado.
Pin 4 Down 5 v
Pin 13 TDC 5 v
51
Cuando el primer contador haga la secuencia de 9 a 0, activar un pulso en
su PIN 12 (TCU) para hacer una cuenta en el contador de las decenas.
El nmero binario generado para ser interpretado por el display deber ser
decodificado ya que el display es un dispositivo que no puede interpretarlo
directamente. Para ello se utilizar un decodificador 7448 cuya funcin es
recibir el nmero binario y decodificarlo para que el display de 7 segmentos
lo interprete.
Una vez tengamos la salida preparada para ser conectada a los displays, se
deber intercalar resistencias para cada segmento con el fin de evitar darles
demasiada tensin con la consecuencia de fundirlos o disminuir su vida de
funcionamiento. El clculo de esta proteccin se justificar en el apartado
de clculos justificativos.
52
Figura 30. Bloque de control.
Int0 Pin 33
Int1 Pin 34
Int2 Pin 35
53
Una de las limitaciones de ste PIC es que solo tiene 3 interrupciones
externas alojadas en el puerto B aunque se ha encontrado una solucin
para aprovechar dos interruptores conectados en el mismo puerto.
Tambin se deben usar dos diodos para evitar que la seal al pulsar un
pulsador no se derive por la otra rama. Los diodos a utilizar sern el modelo
BAS85 tipo shotky ya que consume menos cantidad de tensin (300mV) y
se debe asegurar que llega un valor cercano a los 5 volts limpios a los pines
del PIC, en caso de haber utilizado un diodo genrico la tensin que le
llegara a los pines del PIC sera como mximo de 4,4 v lo que supone un
problema ya que el PIC puede ser que no lo tome como nivel alto.
Figura 32. Solucin para usar dos pulsadores con la misma interrupcin
(ejemplo)
54
En los pulsadores, para cada uno de ellos se ha puesto una resistencia de
10k en paralelo conectada a masa para que las entradas del PIC puedan
leer un nivel alto.
Sub-Bloque Microcontrolador
55
Otra de las partes configuradas para el correcto funcionamiento del PIC es
la configuracin del oscilador externo donde en el propio datasheet se
proponen algunos valores de los condensadores para distintos valores del
cristal. Para ello se ha utilizado un cristal de 4Mhz y dos condensadores de
47 pF.
56
PIN39, 40 (RB): Como entrada para el uso de dos botones en la INT2.
PIN11: Entrada de alimentacin 5 volts.
PIN12: GND.
Figura 35. Ampliacin de los puertos del PIC para las filas
57
cuando se activan lo hacen a nivel bajo. De esta forma solo utilizamos 6 bits
del puerto A y tenemos un total de 16 salidas, suficientes para controlar las
filas.
Por una parte, se puede ver en la figura 9 el demultiplexor que controla las
filas (U3) que mediante las entradas correspondientes daremos un 0
lgico a la salida que nos interese activar y todas las dems tendrn un
estado alto.
Como las filas nos interesa activar los leds mediante un estado alto, se ha
intercalado puertas NOT para invertir el estado de todas las salidas del
demultiplexor, de sta forma a las filas de la matriz de leds solo llegar un
solo estado alto que ser la fila que contiene el led que queremos encender.
Por otro lado, tenemos el puerto C y D del PIC que es el que controlar las
14 columnas de la matriz visual, por un lado el puerto D tendr ocupado sus
8 bits y el puerto C tendr 6 de sus 8 bits ocupados ya que en total
tenemos 14 columnas. Simplemente el PIN conectado a la columna que
queramos activar el led tendr un estado bajo y los dems un estado alto.
58
6.2 Dimensionado y seleccin de
componentes.
Hay componentes utilizados que existe una amplia gama en el mercado con
distintas caractersticas tcnicas o diferentes familias del mismo producto y
en ste apartado se justificar el porqu de los modelos especficos de los
componentes utilizados teniendo en cuenta las caractersticas requeridas de
diseo as como las caractersticas tcnicas para el correcto funcionamiento.
Para los segmentos de los displays, pasa exactamente lo mismo que para
los leds de la matriz ya que son del mismo tipo. Para ello se ha aadido un
array de resistencias con encapsulado DIP para cada uno de los displays, un
total de 2.
59
uso de un diodo con una cada de tensin de 0.7v puede hacer que las
entradas del puerto del PIC no interpreten bien un 1 lgico.
Demultiplexor HTC74154
De cara al diseo, el objetivo es el de ampliar los puertos del PIC, para ello
se requiere que entre todas sus entradas no sobrepase el tamao de los
puertos del PIC y sus salidas puedan controlar en nmero las filas de la
matriz. El modelo elegido solo ocupar 6 pines de un puerto y tiene 16
salidas, suficiente para los requerimientos de diseo.
Decodificador 7448
60
El funcionamiento es sencillo y trata de eliminar el efecto rebote mediante
la carga y descarga del condensador y para ello hace falta elegir un valor de
condensador relativamente pequeo y que se ajuste a las necesidades de
velocidad y sensibilidad de los rebotes. Si se usara un condensador de valor
muy grande, los botones no funcionaran correctamente ya que el
condensador no llegara a cargarse en el tiempo en que se apret un botn,
en oposicin, si el condensador es de valor demasiado pequeo no se
llegaran a filtrar los rebotes de forma adecuada.
t=RC
Por ejemplo:
R = 1k
C= 100 nF
Puesto que los leds utilizados en la matriz como los que conforman los
displays de 7 segmentos tienen las mismas caractersticas tcnicas debern
tener la misma proteccin.
61
Figura 37. Ejemplo para calcular la resistencia de un Led rojo.
Las resistencias segn el clculo terico debe ser de 233 , para ello
usaremos el valor comercial de 220 . Aunque el valor sea algo menor o
mayor, como presentan una tolerancia tampoco hay ningn problema si son
algo mayores.
Figura 38. Simulacin de un Led Rojo con los valores prcticos tomados.
62
Para el clculo de las resistencias de los displays de 7 segmentos, podemos
utilizar el mismo razonamiento, ya que cada segmento es equivalente a un
led rojo
De datos tenemos:
t = RC
R = 10k
c = 10nF
Calculamos t.
Demultiplexor HTC74154
63
El circuito ir alimentado a 5 volts, as que se han dado las especificaciones
para este valor de alimentacin ya que al ser CMOS tiene un rango de 2 a 6
volts. La corriente de salida tampoco supone ningn problema para las
entradas de las puertas lgicas NOT utilizadas.
Resistencias
Las resistencias utilizadas tanto para el pull-up de los pulsadores como las
que protegen los leds sern de de watt y de su valor correspondiente en
cada caso.
Diodos bas85
Estos diodos son ideales para ser utilizados en montajes que sus tensiones
son muy pequeas o en montajes donde interesa no perder demasiada
tensin al utilizar un diodo.
64
Figura 40. Curva caracterstica del diodo bas85.
Contador 74192
Tiene 4 salidas binarias (Qa, Qb, Qc, Qd) donde generar el nmero de 4
bits de la cuenta, 4 entradas (A, B, C, D) para tener la opcin de
preseleccionar un nmero inicial y dos pines para elegir si se quiere hacer la
cuenta de forma ascendente (count up) o desdendente (count down)
Adems tiene un pin para realizar un reset total, uno de preset para cargar
el nmero de las entradas y un pin de carry que se activar cuando la
dcada desborde en el paso de 9-0 ascendentes o de 0-9 descendente.
65
Decodificador 4bit-7seg 7448
Sus salidas se activan a nivel alto directamente para activar los segmentos
de un display y tiene un pin (LT) preparado para testear un display
activando todos sus segmentos.
Microcontrolador PIC18F4520
66
Figura 43. Diagrama de conexionado del PIC18F4520.
Por otra parte, se debe tener en cuenta los retardos que tiene cada salida
para pasar de un estado bajo a alto y viceversa, ya que interesa que sea lo
ms rpido posible para realizar una visualizacin dinmica.
Led Rojo
Los Led rojo utilizados en el diseo son los tpicos de 3 mm constituidos por
Galio ideales para indicadores en aparatos electrnicos que requieren de
una baja densidad de corriente y ofrecen una alta iluminacin. Las
caractersticas ms importantes a tener en cuenta sn:
67
68
CAPITULO 7
SOFTWARE: DISEO Y
PROGRAMACIN
69
Figura 45. Pantalla inicial del asistente PIC Wizard.
70
Figura 46. Configuramos el puerto A como entradas digitales.
71
Figura 48. Compilacin correcta del un programa con CCS.
72
Para la simulacin, es necesario previamente una vez estn todos los
componentes correctamente conectados, cargar el programa compilado en
este caso con el CCS, para ello se cargar el programa con extensin .HEX
en el PIC.
Para ello pulsaremos dos veces sobre el PIC para abrir la pantalla de
configuracin de este.
73
Figura 51. Simulacin de la matriz led 10x14.
Como nota final para el uso de Proteus, se debe tener en cuenta que el
simulador a veces tiene un funcionamiento de sus componentes de forma
ideal y montajes que en el simulador funcionan, en la realidad no lo haran
de forma adecuada. Por ejemplo en el simulador no hace falta conectar
resistencias de PULL-UP o utilizar resistencias de proteccin para los diodos.
Uno de los detalles en cuanto programacin son los retardos ya que en
Proteus va un poco ms lento que en la realidad.
74
7.1.3. Grabacin del programa al PIC.
Para las ltimas pruebas y grabacin final del PIC se ha utilizado el Galep
5 por la comodidad de conexin mediante USB, no obstante el objetivo de
los dos es el mismo.
El uso de este dispositivo es muy intuitivo y est preparado para grabar una
gran cantidad de dispositivos como microcontroladores, memorias EEPROM,
flash EPROM o GAL. Al ejecutar el programa, solo hace falta seleccionar
nuestro microcontrolador en la pestaa de DEVICES.
75
ERASE con F7 o simplemente grabar el nuevo programa donde
sobrescribir el anterior.
Figura 55. Ejemplo de cmo el GALEP nos indica como colocar el PIC y las
acciones que se realizan en ste.
76
Lo primero a tener en cuenta, es que los 3 juegos estn integrados en un
mismo PIC, para ello se debe dar la opcin al usuario de poder elegir cul
de los juegos desea jugar. Puesto que lo ideal sera hacer un men
selectivo, se ha optado por la realizacin de una pantalla de inicio con el
logo del juego electrnico. Una vez cargado el logo llamando a la funcin
intro() el usuario podr elegir a cul de los 3 juegos jugar pulsando un
botn para cada uno de ellos.
Figura 56. Pantalla Inicial al encender el juego electrnico donde se vern las
iniciales LX del nombre puesto a la consola Ledmax.
77
El objetivo de este juego es el de realizar 99 rebotes de la pelota en la parte
superior de la pantalla. La dificultad reside en que hay varios niveles que
dependern de la velocidad de la pelota.
ste juego utiliza dos de los botones, uno para manejar el pad hacia el lado
izquierdo y otro para el lado derecho. A continuacin veremos un esquema
grfico del juego.
Una vez el usuario llega a 99 puntos, aparecer una pantalla que mostrar
el mensaje WIN. En caso de que el jugador no acierte a la pelota, saldr
una pantalla con una fila de leds movindose en horizontal y deber
empezar de nuevo la partida, adems el contador de puntos volver a 0 y la
velocidad de la pelota volver a su velocidad inicial.
Una vez analizado el funcionamiento del juego, es fcil darse cuenta que el
programa deber ejecutar dos rdenes alternas, por una parte la
visualizacin de la pelota y su trayectoria y por otra la visualizacin del pad
del jugador y el clculo del movimiento de ste.
78
7.2.2. Juego Pong de 2 jugadores.
ste juego, utiliza el mismo sistema de contar golpes que el frontn donde
cada tantos rebotes la velocidad de la pelota aumentar dificultando a los
jugadores llegar a tocarla.
La direccin de rebote, viene determinada segn con que parte del pad se
toca la pelota. El pad est generado por dos leds, donde si la pelota rebota
en el led izquierdo el rebote ser para ste lado, en caso contrario si la
pelota rebota en el derecho su direccin de rebote ser a la derecha.
Este juego, utilizar un total de dos botones por jugador donde al igual que
el frontn, cada jugador desplazar el pad en busca del rebote de la pelota.
79
Detectar la colisin de la pelota con el nuevo pad.
Sistema de puntuacin de 7 puntos.
ste juego de futbol, est pensado para funcionar como lo hace un futboln,
puesto que la matriz visual no es extremadamente grande, cada jugador
controlar 3 pads, uno de ellos representa que es el portero y los dos pads
restantes son filas de jugadores.
80
El objetivo de los displays en el caso de ste juego es igual al del pong,
contar los nmeros de rebotes que van haciendo los jugadores para
aumentar la velocidad de la pelota.
7.3. Programacin.
#FUSES
MCLR,NOWDT,NOPROTECT,NOPBADEN,NOPUT,NOLVP,NOCPD,NOWRT,NODEBUG,NOFCMEN,XT
81
setup_adc_ports(NO_ANALOGS|VSS_VDD);
setup_adc(ADC_CLOCK_DIV_2|ADC_TAD_MUL_0);
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_wdt(WDT_OFF);
setup_timer_0(RTCC_INTERNAL);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_timer_3(T3_DISABLED|T3_DIV_BY_1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
enable_interrupts(INT_EXT);
enable_interrupts(INT_EXT1);
enable_interrupts(INT_EXT2);
enable_interrupts(GLOBAL);
#include "PATH\AnimacioLib.c"
ste archivo est conformado por 140 funciones, una para encender cada
led y adems tiene una funcin para el apagado de los led. Cada una de
estas funciones activa a un estado determinado los valores de los puertos
que controlan las filas y las columnas de la matriz.
82
Para facilitar el uso de estas 140 funciones, se ha seguido un patrn para
nombrarlas donde se declaran de la siguiente forma:
ledx_y();
Void led_apagar(){
output_A (0xC0);
output_C (0xFF);
output_D (0xFF);
}
83
siguiente se detallar la lgica de estos mediante diagramas pero es
importante antes explicar el funcionamiento de las rutinas.
Variables utilizadas.
if (seleccio==0){joc=X;}
84
Donde dependiendo del valor de X se seleccionar uno de los juegos.
Estas dos acciones se han programado cada una de ellas en una funcin
para que cuando se necesiten se puedan llamar fcilmente por ejemplo para
resetear el contador cuando se pierde una partida o se quiera sumar un
punto o rebote.
85
Es por ello que en funcin del valor de la variable cops que son los rebotes
de la pelota con los pads, la velocidad ir disminuyendo. Para ello en vez de
utilizar la funcin de retardo comn, se ha englobado diferentes retardos
segn la variable comentada.
Aunque el delay vare tan solo 1 milisegundo entre los niveles de dificultad
en la funcin, en la prctica la diferencia es notable ya que se debe tener en
cuenta las repeticiones de la visualizacin dinmica.
Visualizacin dinmica
sta rutina tiene como objetivo mostrar los pads y la pelota en su posicin
correspondiente ya que como se explic anteriormente en realidad solo se
enciende un solo led a la vez.
86
Para el encendido de los pad y los jugadores, se llama a funciones algo
extensas que se pueden verificar en el cdigo fuente. No obstante comentar
que para encender el pad en los leds correctos, se usa la variable pad que
segn el valor determinar el led a encender. Por ejemplo en el frontn, si
pad equivale a 3, se encender el led de la columna 3 y 4. Si pulsamos el
botn para mover el pad a la derecha, incrementamos su valor haciendo
que se enciendan los leds de la columna 4 y 5. En el juego del pong y el
futboln el sistema para mover los pads es exactamente igual.
87
Control de los pads con los botones
Para generar esta movilidad, hacemos que cada led de la lnea por donde se
mueva el pad tenga asignado un nmero, as que si incrementamos est
nmero el pad se desplazar a la derecha y si le restamos se desplazar a
la izquierda.
AnimacioLib.C
ste archivo tiene las animaciones de los juegos cuando uno de los
jugadores gana o cuando en el caso del juego del frontn se llegan a los 99
puntos. Bsicamente muestra un mensaje en pantalla.
88
7.4. Implementacin de los juegos.
Derecha Izquierda
Flag = 1
Comprobamos colisin
Pad = Columna Reset_cpu ()
Pad2 = Columna
Rebote aleatorio
Derecha Izquierda
Rebote aleatorio
89
7.4.2. Juego Pong.
Derecha Izquierda
flag = 1
Derecha Izquierda
flag = 0
Si punts1 = 7 WIN1
Si punts2 = 7 WIN2
90
7.4.2. Juego Futboln.
Bajada pelota
Determinamos SI
colisin defensas J1
Bajada pelota
Determinamos
colisin portero J1
Flag = 1
Subida pelota
SI
Determinamos
colisin defensas J2
Subida pelota
Determinamos
colisin portero J2
Flag = 0
Si punts1 = 10 WIN1
Si punts2 = 10 WIN2
91
92
CAPITULO 8
VIABILIDAD
ECONMICA
93
Zcalo DIP 40 Pines 1 0,57 0,57
94
Tira poste C.I Hembra paso 2 4 0,90 3,60
Montaje 14 50 h 700
Pruebas funcionales 14 20 h 280
Realizacin memoria 14 50 h 700
Bsqueda Informacin 14 70 h 980
95
Reuniones 18 15 h 270
TOTAL 345 h 5450
96
Servicio externo Coste
Realizacin de las placas (PCB) 50
Los costes indirectos se deben tener en cuenta dentro del presupuesto del
prototipo ya que en el desarrollo de ste se ha utilizado diferentes
herramientas y materiales externos, desde un grabador de PICs, utensilios
varios como alicates, material informtico o material de secretara.
TOTAL 935
Para el clculo total del prototipo sumaremos los gastos directos y los
gastos indirectos.
97
8.2. Costes de produccin y venta en series.
Este captulo tiene como objetivo calcular el precio del producto en el caso
de la fabricacin en series considerables para comercializarlos por lotes ya
sea a tiendas para su posterior venta o vender lotes de unidades a centros
de enseanza que puedan estar interesados.
98
8.2.2 Clculo unitario para venta de 5.000 unidades.
99
mal funcionamiento de fabricacin o mal uso nosotros como fabricantes y
vendedores no perdamos dinero.
Con esto tenemos el precio unitario final, para comercializar 2.500 unidades
con una estimacin de reposicin del 1%, donde el incremento al precio
unitario para recuperar sta prdida es de 1%.
Una vez tenemos el precio unitario que nos cuesta producir una
unidad, en ste caso de una produccin de 2.500 unidades y se le ha
aadido el IVA, falta aadir el porcentaje de ganancia que deseamos
como empresa.
100
consultado los que utilizan empresas de ventas de componentes y
equipos electrnicos, ya que para ello se debera hacer un estudio
ms detallado para nuestro caso.
La ganancia que nos interesa, por vender una unidad la fijamos en un 30%
del coste unitario real, a partir de ste precio ofrecemos descuentos por
venta de lotes.
1 - 10 131,42 0%
10 - 20 118,28 10%
101
102
CAPITULO 9
PREVISIN DE
CRONOGRAMAS
103
Dimensionado y esquemtico del circuito: Para el diseo del circuito se ha
previsto 10 das ya que se deber de simular el montaje y tener en cuenta
detalles si faltaran como resistencias de polarizacin, clculo de los
resistores y se deber dibujar el circuito con un programa para circuitos
tipo Orcad o similares.
Mejoras del juego: Se trata de pulir los ltimos detalles del juego por si se
le quiere aadir algn detalle en cuanto cdigo o hacer alguna modificacin
en la estructura de cdigo.
104
Redactado de la memoria: Para la redaccin de la memoria, he puesto un
total de 15 das aunque esta tarea debera irse haciendo durante todo el
desarrollo de PFC2 ya que el redactado de sta requiere tiempo. De todas
formas, se tiene en cuenta, que stos 15 das se debera dedicar ms
tiempo en memoria que en otras tareas.
105
106
CAPITULO 10
MEJORAS Y
CONCLUSINES
La tercera mejora que propongo puede servir tambin para ampliar los
conocimientos en la programacin del PIC. Consiste en dar la opcin al
usuario de poder guardar las mximas puntuaciones obtenidas en la
memoria EEPROM.
107
10.2. Conclusiones.
La Ingeniera Tcnica Industrial es una ingeniera que engloba diversos
campos relacionados con el mbito industrial y la tecnologa donde uno de
sus mbitos es la Electrnica Industrial. Como estudiante de este mbito
durante ste tiempo he podido aprender de los diferentes campos de
aplicacin de la electrnica.
108
CAPITULO 11
PLIEGO DE
CONDICINES
ste captulo recoger las especificaciones tcnicas pactada entre proyectista y tutor, as
como los plazos de tiempo y entrega de esta memoria de PFC1. El proyecto en su
totalidad, consta del diseo y ejecucin de un juego electrnico de la poca de los aos
70, 80 con las siguientes especificaciones:
Especificaciones tcnicas.
Especificaciones de tiempo.
Especificaciones econmicas.
- Los gastos corrern a cargo del proyectista, no obstante si hay algn componente
de precio elevado se puede consultar al tutor de proyecto.
109
110
CAPITULO 12
BIBLIOGRAFIA
Libros tcnicos.
Enrique Mandado Perez, Luis Manuel Menendez, Luis Ferreira, Emilio Lpez
(2007). Microcontroladores PIC: Sistema integrado para el auto
aprendizaje. Barcelona, Ed. Marcombo.
Mat Barton, Bill Loguidice (2009). Vintage Games. USA, Focal Press.
Enlaces Web
www.microchip.com
111
www.computerhistory.org
www.museodelvideojuego.com
www.alldatasheet.com
www.datasheetcatalog.com
112
ANEXO A: ESQUEMAS Y
PLANOS.
113
Ttulo Esquema: Vista General del juego electrnico
Alumno: Albert Lpez Buil Fecha: 11/01/2012
114
Ttulo Esquema: Diseo de la placa de control
Alumno: Albert Lpez Buil Fecha: 11/01/2012
115
Ttulo Esquema: Diseo de la matriz led
Alumno: Albert Lpez Buil Fecha: 11/01/2012
116
Ttulo Esquema: Diseo de la placa Contador
Alumno: Albert Lpez Buil Fecha: 11/01/2012
117
Ttulo Esquema: Vista General diseo PCB del contador
Alumno: Albert Lpez Buil Fecha: 11/01/2012
118
Ttulo Esquema: Vista General diseo PCB de la placa de control
Alumno: Albert Lpez Buil Fecha: 11/01/2012
119
Ttulo Esquema: Vista General PCB Matriz led
Alumno: Albert Lpez Buil Fecha: 11/01/2012
120
121