Skip to content

Project on supporting the teaching of mathematics in children with the use of a tangible user interface

License

Notifications You must be signed in to change notification settings

pabloccervantes/math-teaching-app-with-TUI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Resumen

El proyecto consiste en el desarrollo de una aplicación de escritorio que funciona como material de apoyo para el repaso de temas del área de matemáticas en alumnos de educación básica (entre 9 y 12 años). Mediante el uso de una interfaz de usuario tangible (figura 2.2) se interactua con la aplicación por medio de una red Bluetooth, además la aplicación hace uso de una base de datos interna SQLite para el almacenamiento y carga de los ejercicios y/o contenidos a mostrar.
El sistema de la aplicación consta de dos partes, las cuales identificamos como:

  • Módulo Arduino: Corresponde a una interfaz de usuario tangible (IUT) controlada por una placa de microcontrolador, Arduino Uno.

  • Módulo Unity: Se trata de la aplicación de escritorio, para Windows y desarrollada en Unity, la cual presenta al usuario las actividades a realizar y que es controlada por medio de la IUT.

Desarrollo

Lo primero que se abordó fue en relación con la comunicación entre los módulos, que se identifican como módulo arduino y módulo unity, como se mencionó anteriormente, se realizará por medio de una conexión bluetooth usando el módulo HC-06 por parte del módulo arduino y el módulo bluetooth del equipo laptop por parte del módulo unity. Esta comunicación está representada en la figura 1.1.

Figura 1.1 Comunicación entre módulos

Para comprender el funcionamiento de la comunicación, primero se debe abordar el funcionamiento del -módulo arduino-, el cual corresponde a una IUT orientada a usuarios de educación básica, la temática de esta corresponde al juego del avión (figura 2.2). Cuenta con diez posiciones seleccionables conectadas a una tarjeta de microcontrolador Arduino Uno, a su vez, esta contiene un módulo de Bluetooth HC-06 (figura 2.1).

Figura 2.1 Esquema de conexión -Módulo Arduino-

Figura 2.2 Prototipo del -Módulo Arduino-

El envió de los datos se ve ejemplificado en la figura 3.1.

Figura 3.1 Datos durante la comunicación

El -módulo Arduino- envía una cadena de diez valores (0,1) que indica el estado de activación de cada posición del tapete (IUT), esta acción se realiza cinco veces por segundo (cada 200ms). A su vez, en cada envió de cadena, debido a la longitud, se envía posición por posición cada 20ms aproximadamente. Al final de cada envío de la cadena (string), se envía carácter de cambio de línea (LF), lo que le indica al -módulo Unity- que ya recibió la cadena completa, por lo que compara el valor de cada posición con el anterior recibido, y sí existió un cambio de: seleccionado, a: no seleccionado, entonces realiza la acción que corresponde a oprimir dicha posición. Lo anterior se puede observar en los fragmentos de código de las figuras 4.1 y 4.2.

Figura 4.1 Código envío -Módulo Arduino-

Figura 4.2 Código recepción -Módulo Unity-

Dentro de la aplicación (módulo Unity), se tienen dos pantallas principales:

  • Menú de la actividad: Es la primera en mostrarse, contiene las opciones de configuración de la actividad (selección de tema, selección de número de ejercicios, selección modo [c/s contrarreloj]).

  • Actividad: Presenta los ejercicios con las opciones de respuesta y las instrucciones de selección usando el tapete (IUT).

Figura 5.1 Pantalla Opciones - Figura 5.2 Pantalla Actividad

Figura 5.3 Secciones de pantalla Actividad

Como se aprecia en la figura 5.3, existe un apartado de “estado del tapete”, el cual muestra, en tiempo real, que posiciones están siendo seleccionadas. Los recorridos en el tapete, presentados en las opciones, cambian en cada ejercicio.

Los ejercicios son obtenidos desde una base de datos SQLite incluida en la aplicación, esto se hizo así para en un futuro cargar los ejercicios desde un nuevo módulo o desde una plataforma web a la aplicación, la que guardaría estos ejercicios en su base. La DB solo consta de dos tablas ya que no se hace uso de muchos datos diferentes, pero se podría expandir para la inclusión de un sistema de usuarios, evaluaciones o clasificaciones.

Figura 6.1 Estructura base de datos interna

Figura 6.2 Datos tabla preguntas - Figura 6.3 Datos tabla respuestas

En el campo “caminos_respuesta”, se indica el camino a seguir en el tapete (IUT) para responder la opción correspondiente. El camino puede contener de una a todas las posiciones, sin importar el orden de aparición o la repetición de alguna. El camino está señalado mediante una cadena tipo string, indicando la posición del tapete con su correspondiente numérico y separando las posiciones con caracteres 248 en ascii [°]. Para indicar la selección simultánea de posiciones se ligan con guion medio (sólo disponible para las posiciones 4-5, 7-8).

Figura 6.4 Ejemplos de campo: “caminos_respuesta”

Dentro del proyecto en Unity, las dos escenas (menú y actividad), contienen en los objetos “canvas”, la propiedad de “modo prueba” (figura 7.1), al activarla y ejecutar la simulación, la aplicación podrá ser controlada con teclado sin conectar el tapete (IUT), los números del bloque numérico representan pisar una posición en el tapete.

Figura 7.1 “Modo prueba” activado en proyecto Unity



Pablo Cerón Cervantes (pabloccervantes@gmail.com)

About

Project on supporting the teaching of mathematics in children with the use of a tangible user interface

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published