13.) JUEGO PING PONG

Para la práctica de laboratorio No 13 se diseño y realizo un juego de ping pong desde la aplicación de Psoc, para esto se necesito los siguientes elementos:

- Matriz Led 7x25.
-4 pulsadores.
-Microcontrolador Psoc.
-1 Led 7 segmentos x 4 ventanas.
-Protoboard 3 secciones.
-Conectores

DESARROLLO

Conociendo el funcionamiento de nuestra matriz led, primeramente se empezó a diseñar el corrimiento de la pelota de ping pong a través de nuestro tablero; el tablero solo va a estar dimensionado de 2 sectores de 5x7 leds, obteniendo 10 posiciones de 0 a 9 bits como se muestra en la imagen 1.


Imagen 1. Disposición de matriz led como tablero.

A) SECUENCIA TRAYECTORIA PELOTA TY DELIITACION TABLERO:

Primeramente se realizo las secuencias que tenia que seguir la pelota; cuando se empieza el juego la pelota empieza su trayectoria diagonal y al pegar en los limites del tablero cambia su direccion siguiendo la logica de su tratectoria. Los limites de la pelota estan acotados en la parte de arriba, abajo y por las raquetas o cuando marca un punto. Cuentan con una entrada la cual a recibir un 1 lógico inicia y termina hasta cumplir el ultimo paso que se requiera, activando la salida de fin de secuencia y que dando habilitada para volver a iniciar.
Se inicia la pelota en 1 logico a la entrada de un flipflop SR, marcando la entrada y utilizamos un mux de 4 a 1 para poner las condiciones del recorrido; asi mismo conectamos las salidas de los mltiplexores a un flipflop D para que me realize el corrimietno a traves de las filas de la matriz como se muestra en la imagen 2.

Para las secuencias se utilizo un LUT determinando las posiciones que se iluminan al paso de la pelota como se muestra en la imagen 3.

Imagen 2. Porgramacion limites del tablero y desplazamiento filas pelota ping pong.

Imagen 3. Secuencia o trayectoria de la pelota.

B) RAQUETAS DE PING PONG:

Para el diseño de las raquetas se empezo por una columna de 5 posiciones encendidas, cuando se incia el juego el jugador puede disminuir la raqueta a solo 3 leds encendidos o jugar con la raqueta predeterminada; la raqueta no tiene limites inferiores ni superiores por lo que puede saltar del inicio al final de la columna o viceversa duarante el juego. 

Para hacer lo anterior se dispuso de una entrada A para el jugador 1, el cual va a manipular los 3 bits en las columnas, y una entrada B para el jugador 2, de igual manera manipula 3 bits en su raqueta; esto quiere decir que va a ser bidireccional. Esto se logra con un flipflop tipo D para guarsar el dato que esta en la linea de datos. y multiplexando los pulsos para desplazar la raqueta hacia arriba o hacia abajo. Todo esto se ilustra en la imagen 4.

 Imagen 4. Programacion raquetas de ping pong.

C) PUNTUACION JUGADORES:

Ya teniendo nuestras raquetas de 3 bits, se dipuso a señalar las marcaciones de los punto,s en cuanto la pelota no toque las raquetas en la columna final de cada jugador. Para esto se dispuso de registrar los estados iniciales de la columna de puntos y comparar si no tocan los 3 bits de las raquetas como se muestra en la imagen 5 y 6.De igual manera se realizo uno para cada jugador teniendo dos modulos de goles raqueta, despues se diseño la marcacion o contador

Imagen 5. Marcacion de punto jugador 1.

Imagen 6. Marcacion de punto jugador 2.

de los puntos; para esto utilizamos dos basic counter para cada player enviandole un 1 logico en el set (activacion) y una entrada por pulso de la salida de los goles de cada jugador; por ejemplo el jugador 1 marca un punto, esta entrada viene por el pulso clock y me realiza la comparacion de entrada entre el set y su estado actual y me envia una salida a un mux de 3 bits. Este a su salida va a tener un LUT para hacer la visualizacion en nuestro 7 segmentos de dicho jugador.

Imagen 7. Contador de puntos y bloque visualizador 7 segmentos.

D) TOP DESING:

Finalmente para acoplar todos nuestros bloques realizamos la union de nuestra division de tablero con la secuencia y el desplazamiento de las raquetas de cada jugador con un Mux "visualizador" en la matriz led como se muestra en la imagen 8. De igual manera hacemos un flipflop de inicio de juego para que los jugadores esten preparados y configurar la raqueta y el inicio del marcador en los 7 segmentos, asi como el reinicio de las posiciones predeterminadas cada vez que se marque un punto, este punto hecho lo visualizamos en la ultima columna de cada jugador como lo distan las imagenes 5 y 6. las siguientes imagenes muestra en resultado del top desing para dar por terminado nuestro programador del juego de pingpong.

Imagen 8. Multiplexor visualizador de juego.

Imagen 9. Top Desing juego de ping pong.

Imagen 10. Top Desing detallado.

RESULTADOS:

El siguiente video muestra el resultado final de nuestro juego de ping pong y una explicacion consisa del funcionamiento del mismo.

                                                     Video 1. Visualización juego de ping pong en Psoc creator.

No hay comentarios.:

Publicar un comentario

CONSTRUYENDO CON PSoC

AQUÍ ENCONTRARÁS... Todos los informes que documentan los proyectos de laboratorio de la asignatura Electrónica digital, asistido por e...