Camilo Bermudez / Mbed 2 deprecated tetris20

Dependencies:   mbed

Tetris

Segundo corte SISTEMAS EMBEBIDOS- UNIVERSIDAD ECCI JULIAN HUMBERTO CANTILLO GASPAR 47215 CAMILO ANDRES BERMUDEZ POLANIA 44348 JHON ESTIVEN VILLALOBOS FAJARDO 36390 HERNANDO HERNANDEZ SILVA 50840

INTRODUCCIÓN: el siguiente proyecto, está basado en el ámbito de los sistemas embebidos, el sistema embebido que se quiere construir es un clásico juego que en la década de los 80 llamado tetris. Para llevar a cabo la tarea de crear un sistema embebido que ejecute el juego de tetris usamos el entorno de programación llamado MBED y la tarjeta de programación llamada “STM32F411RE”. Se desarrollo un software con toda la lógica del juego con un lenguaje de programación tipo C.

FUNCIONALIDAD DEL TETRIS Las figuras programadas aparecerán en la zona superior de la matriz, se irán desplazando hacia la zona inferior de la matriz en el transcurso en el que la pieza está bajando, el jugador podrá rotar las figuras y moverlas a través de las filas, al completar las filas esta desaparece y se desplazan las que estaban encima para continuar el juego. OBJETIVO GENERAL: Desarrollar un tetris mediante la plataforma de programación MBED y una tarjeta de programación llamada “STM32F411RE”. OBJETIVOS ESPECIFICOS: • Desarrollar las 4 figuras básicas del juego Tetris. • Visualizar las figuras en una matriz de 8x8. • Utilizar visualización dinámica para visualizar el movimiento de la figura. • implementar un joystick para la jugabilidad.

MATERIALES: • Matriz de 8x8 • Tarjeta STM núcleo F411RE. • Controlador MAX 7219. • Módulo de joystick análogo-digital.

PROGRAMACIÓN TETRIS Se declaran las librerías para poder usar mbed y demás variables tipo char luego Se nombran los pines a utilizar y se hace la comunicación Tx y Rx entre la tarjeta STM32F411 y la matriz max7219 se declaran las entradas análogas del sistema y las matrices (activa y temporal) Matrix_act: La matriz activa es la que guarda lo que se está imprimiendo en la matriz max7219 Matrix_tmp: La matriz temporal en la envía las figuras a la Matriz activa Matrix_tmp1:La matriz temporal 1 es la que guarda los grados de las figuras Después se nombran las fila, columna, figura, grados y posición.

Se definen las figuras /media/uploads/Camilo171998/20.jpg

A continuación se define el funcionamiento de la matriz, es decir la comparación entre la matriz temporal y la matriz activa para así poder guardar las figuras (dato) enviadas en la matriz max7219.

/media/uploads/Camilo171998/11.jpg

/media/uploads/Camilo171998/12.jpg

La función Clr_Vcol Borra datos que se hallan guardado anteriormente en la matriz, para evitar errores al guardar los datos. Luego Se generan las figuras y columnas aleatoriamente en la matriz, la función pc.printf imprime la figura y la columna para que el juego de tetris no se sepa cual figura va salir y en que columna. Para mover las figuras se usa un joystick el cual este lee los datos del convertidor análogo-digital para lograr hacer los movimientos izquierda, derecha y abajo, se hace la conversión para visualizar el dato en mili voltios. /media/uploads/Camilo171998/13.jpg

/media/uploads/Camilo171998/14.jpg

Se crean los casos para asignar las rotaciones a cada figura.

/media/uploads/Camilo171998/15.jpg

Estos casos son para el movimiento que pueden tener las figuras Lo que hace es comparar la matriz temporal con las columnas para poder hacer estos movimientos

/media/uploads/Camilo171998/16.jpg

A continuación se lee la figura, se selecciona la figura y se nombran. /media/uploads/Camilo171998/17.jpg

Se limpia la matriz activa para evitar que se llene de basura es decir códigos anteriores y guarda los datos en las matrices para que aleatoriamente seleccionen la figura y compara dichas matrices para que sepa dónde puede moverse si izquierda o derecha es decir los espacios que no tengan ningún dato y final mente imprima en la matriz.

/media/uploads/Camilo171998/18.jpg

/media/uploads/Camilo171998/19.jpg


All wikipages