Vous êtes sur la page 1sur 16

ANTECEDENTES

En informtica, un men est conformado por una serie de opciones que el usuario puede elegir
para realizar determinadas tareas.

Los mens se organizan siguiendo el principio de los rboles, esto quiere decir que un men puede
tener mens hijos y mens padres. [1]

En la actualidad, con el uso de softwares determinados, los algoritmos y programas destinados a la


creacin de mens son cada vez ms comunes, ya que los podemos observar en la mayora de
dispositivos tecnolgicos destinados al uso comercial. Esto facilita en gran parte la creacin de stos,
no obstante, la creacin de un nuevo algoritmo sigue siendo una opcin viable.
RESUMEN

En el presente informe, se realiza el planteamiento del problema y el diseo del algoritmo, as como
un avance en la implementacin del cdigo en lenguaje C.

El algoritmo tendr que ser capaz de guardar los movimientos y poder reproducirlos mediante la
eleccin de dichas opciones en un men enviado por el mdulo USART del microcontrolador.

Las pruebas se realizan con el simulador PROTEUS DESIGN SUITE 8.5, utilizando el microcontrolador
PIC16F877A y el programa terminal HTerm para la comunicacin serial.
DESARROLLO

RESPONSABLES
CDIGO APELLIDO, Nombre
1310174 CALIXTO LPEZ, Marcos Bernard
1320996 ROMERO AGUIRRE, Rodolfo Junior

DESCRIPCIN:

La etapa de MODO ENTRENAMIENTO Y REPRODUCCIN hace referencia a la capacidad de poder


guardar datos de movimiento y datos de tiempo de movimiento, para luego ser reproducidas si
el usuario lo requiere.

Para este objetivo se determin la utilizacin de mens informticos, debido a la capacidad de estos
de poder separar tareas distintas en un mismo entorno.

A continuacin, se muestra la estructura de los mens a utilizar.

Men Principal:

1. Modo entrenamiento.
2. Modo comando.
3. Salir.

Men Modo comando:

1.1. Avanzar.
1.2. Retroceder.
1.3. Girar derecha.
1.4. Girar izquierda.
1.5. Salir modo comando.

Men Modo entrenamiento:

2.1. Entrenar.
2.2. Reproducir.
2.3. Borrar.
2.4. Salir modo entrenamiento.

Men Entrenar:

2.1.1. Avanzar.
2.1.2. Retroceder.
2.1.3. Girar derecha.
2.1.4. Girar izquierda.
2.1.5. Terminar entrenamiento.
Para el desarrollo del algoritmo se utiliza el software PSeInt, que cuenta con la capacidad de crear
diagramas de bloque automticos a partir del pseudocdigo desarrollado, en primera instancia se
crearon los mens respectivos.

A continuacin, se muestran el pseudocdigo y diagrama de bloques asociado de cada funcin:

Men Principal:

Figura 1.0. Pseudocdigo para el men principal.

Figura 1.1. Diagrama de bloques para el men principal.


Men Modo comando:

Figura 1.2. Pseudocdigo para el men modo comando.

Figura 1.3. Diagrama de bloques para el men modo comando.


Men Modo entrenamiento:

Debido a que el software PSeInt no cuenta con la capacidad de crear variables globales para los
buffers de movimientos y tiempos, se opt por crear una funcion que permita seleccionar una de
las 3 opciones enviadas por el Men Modo entrenamiento.

Funcin:

Entrenar_o_reproducir_o_borrar(1): comienza a grabar los movimientos.

Entrenar_o_reproducir_o_borrar(2): comienza a reproducir los movimientos grabados.

Entrenar_o_reproducir_o_borrar(3): borra los movimientos grabados.

Figura 1.4. Pseudocdigo para el men modo entrenamiento.

Figura 1.5. Diagrama de bloques para el men modo entrenamiento.


Men de entrenamiento:

De los expuesto en la pgina anterior se muestra la funcin y la primera opcin de esta:

Entrenar_reproducir_borrar(1):

Figura 1.6. Pseudocdigo para el men de entrenamiento opcin 1 (parte 1).

Figura 1.7. Pseudocdigo para el men de entrenamiento opcin 1 (parte 2).


Figura 1.8. Diagrama de bloques para el men de entrenamiento opcin 1 (parte 1).

Figura 1.9. Diagrama de bloques para el men de entrenamiento - opcin 1 (parte 2).
Entrenar_reproducir_borrar(2):

Figura 2.0. Pseudocdigo para el men de entrenamiento opcin 2.

Figura 2.1. Diagrama de bloques para el men de entrenamiento - opcin 2.

Entrenar_reproducir_borrar(3):

Figura 2.2. Pseudocdigo para el men de entrenamiento opcin 3.


Figura 2.3. Diagrama de bloques para el men de entrenamiento - opcin 3.

El desarrollo de las funciones de movimiento est desligado del objetivo de este informe, debido a
esto, su contenido no va ms all de mostrar al usuario que se ingres a dicha funcin mediante
un mensaje de consola.

El desarrollo del algoritmo entrenamiento permiti darnos cuenta que poda implementarse en una
sola funcin, ahorrando a los futuros procesadores un espacio de memoria extra.

Para la implementacin se utiliza el compilador XC8 de Microchip para poder generar el cdigo de
mquina que ser grabado en el microcontrolador, el link del cdigo se adjunta en la adenda.

Para la simulacin se utiliz el software HTerm y un circuito sencillo elaborado en Proteus.

Con una correcta configuracin de los distintos componentes se establece una comunicacin serial
mediante el microcontrolador y el HTerm.

Figura 2.4. Circuito esquemtico en Proteus.


Figura 2.5. Men principal enviado por el microcontrolador.

Figura 2.6. Men modo comando enviado por el microcontrolador.

Figura 2.7. Men modo entrenamiento enviado por el microcontrolador.

Figura 2.8. Men de entrenamiento enviado por el microcontrolador.


Figura 2.9. Entrenamiento y grabado de movimientos.

Figura 3.0. Reproduccin de movimientos.

Como se puede observar el microcontrolador es capaz de guardar los movimientos seleccionados.

Para los buffers de guardado de movimientos se opt por la definicin de tipo estatic char, lo cual
permite que su tiempo de vida se extienda a lo largo de toda la ejecucin del programa y evitando
el gran problema de reiniciarse en cuanto salga de la funcin contenedora. [2]

A continuacin, se muestra un cuadro del avance de la etapa y el porcentaje restante para su


finalizacin.

Tabla 1.0. Avance de la etapa.

SUB-ETAPAS MODO ENTRENAMIENTO Y PORCENTAJE PORCENTAJE


REPRODUCCIN ACTUAL (%) TOTAL (%)
Creacin del algoritmo de funcionamiento 40 40
Implementacin del algoritmo 15 20
Pruebas simuladas 10 15
Pruebas reales 0 25
Porcentaje total 65 100

De la tabla 1.0 se puede observar que la etapa queda concluida hasta un 65%.

El siguiente paso para el avance de la etapa ser el de implementar un cdigo de temporizacin


para el grabado de tiempos que durar cada movimiento.
OBSERVACIONES

En las pruebas con el software PSeInt solo se puede llegar hasta el modo guardado de
movimientos correctamente, sin embargo, el pseudocdigo es correcto para un lenguaje
que no borre las variables al salir de la funcin (variables globales o estticas).
El software PSeInt no tiene la capacidad de declarar variables globales, siendo esto un
impedimento en algunos casos para la creacin de algoritmos.
El uso de variables estticas permite la implementacin de algoritmos ms complejos.
El uso de estructuras switches otorga una mayor versatilidad al momento de crear mens.
Para un grabado ms eficiente podran utilizarse memorias ROM externas, ya que un
buffer creado en la RAM no sera til en caso de reinicio del sistema.
CONCLUSIONES

Se pudo crear el algoritmo de funcionamiento total, siendo de gran ayuda para su


implementacin en lenguaje C.
Las pruebas de transmisin y recepcin realizadas con el HTerm y Proteus demostraron el
correcto funcionamiento del cdigo generado con el compilador XC8.
Se logr guardar hasta 15 movimientos simultneos en buffer del microcontrolador.
Se logr reproducir los 15 movimientos guardados.
Se logr concluir los objetivos declarados en el diagrama de Gantt hasta un 80%.
REFERENCIAS

[1]"Men (informtica)", Es.wikipedia.org, 2017. [En lnea]. Disponible en:


https://es.wikipedia.org/wiki/Men%C3%BA_(inform%C3%A1tica). [Accedido el: 02- Jun- 2017].

[2]" Variable esttica", Es.wikipedia.org, 2017. [En lnea]. Disponible en:


https://es.wikipedia.org/wiki/Variable_est%C3%A1tica. [Accedido el: 02- Jun- 2017].
ADENDA
Links de los archivos:

Pseudocdigo PSeInt:

https://drive.google.com/file/d/0Byrcuosb-lsQbUxSdmtKTHp0QmM/view?usp=sharing

Programa XC8:

https://drive.google.com/file/d/0Byrcuosb-lsQNk1vVE1rcEdSc2M/view?usp=sharing

Simulacin Proteus 8.5:

https://drive.google.com/file/d/0Byrcuosb-lsQNjA4b0RiUGp1VU0/view?usp=sharing

Vous aimerez peut-être aussi