[en] In recent years, many talk about new technologies that are making their way in education. Typically they are computers, tablets, whiteboards, etc., but now new technologies have emerged that many are beginning to highlight: programming as an educational tool. This final project focuses on the realization of a graphical interface that allows the use of a hardware platform, basically a prototype robot that without entering or know the code, the user can select the features you want and be requested parameters necessary for programming the same. The application can be used by both experts and non-experts, through a simple graphical design environment. The ultimate goal is to have a complete system of educational robotics that can be used from school to university whose purpose will be learning robotics whether you start from the ignorance of the matter as if handled in the most advanced levels, where the user can implement the features you want. The application will be available two difficulty levels, basic and advanced. At the level of basic interface will allow, among other things, give high or low peripherals as needed by the user, load the robot functionalities that the user has selected in the graphical environment, test each of the sensors and actuators present in the hardware platform, showing the detailed description of each of these peripherals and save, open the graphic design developed by the user. At the advanced level, you can create your own functions in a bookstore and give them high or low from the application so that it uses or not the functions added or those that are already defined. Before carrying out the analysis of application requirements it has conducted a study on the state of the art, in which we put into the project situation compared to other similar technologies. This section describes the necessary USB communication protocol will also look to establish the exchange of information between the computer and the robot and vice versa. Then the design solution taken will be discussed, the software architecture adopted, description of the components that form and the USB communication protocol used in our application. Later comes a development phase in which technologies and tools used to carry out the implementation of the GUI will be explained. Finally, tests to verify operation of the GUI and conclusions and future work are included shown.

[es] En los últimos años, muchos hablan sobre las nuevas tecnologías, que están abriéndose paso en el ámbito educativo. Típicamente son ordenadores, tabletas, pizarras digitales, etc, pero actualmente han surgido nuevas tecnologías que muchos están empezando a resaltar: la programación como herramienta educativa. Este Trabajo Fin de Grado se centra en la realización de una interfaz gráfica que permita la utilización de una plataforma hardware, básicamente un prototipo de robot, que sin entrar ni conocer el código, el usuario podrán seleccionar las funcionalidades que desee y se solicitaran los parámetros necesarios para la programación de los mismos. La aplicación podrá ser utilizada tanto por usuarios expertos como no expertos, a través de un sencillo entorno gráfico a diseñar. El objetivo final es disponer de un sistema completo de robótica educativa que pueda ser utilizado desde el colegio hasta la Universidad cuya finalidad será el aprendizaje de la robótica tanto si se parte desde el desconocimiento de la materia como si se maneja en los niveles más avanzados, donde el usuario podrá implementar las funciones que desee. La aplicación tendrá disponible dos niveles de dificultad, básico y avanzado. En el nivel básico la interfaz permitirá, entre otras cosas, dar de alta o de baja los periféricos según la necesidad del usuario, cargar al robot las funcionalidades que el usuario haya seleccionado en el entorno gráfico, testear cada uno de los sensores y actuadores presentes en la plataforma hardware, mostrar la descripción en detalle de cada uno de estos periféricos y guardar, abrir el diseño gráfico elaborado por el usuario. En el nivel avanzado, el usuario podrá crear sus propias funciones en una librería y darlas de alta o de baja desde la aplicación para que ésta haga uso o no de las funciones que ha añadido o las que ya estén definidas. Antes de llevar a cabo el análisis de los requisitos de la aplicación se ha realizado un estudio sobre el estado del arte, en la cual se pondrá en situación el proyecto respecto a otras tecnologías similares. En este apartado también se estudiará el protocolo de comunicación USB necesaria para establecer el intercambio de información entre el ordenador y el robot y viceversa. Seguidamente se expondrá la solución del diseño tomado, la arquitectura software adoptada, descripción de los componentes que la forman y el protocolo de comunicación USB utilizado en nuestra aplicación. Posteriormente viene una fase de desarrollo, en la cual se explicará las tecnologías y herramientas utilizadas para llevar a cabo la implementación de la interfaz gráfica. Por último, se muestran las pruebas realizadas para verificar el funcionamiento de la interfaz gráfica y se incluyen unas conclusiones y trabajos futuros.