All Adaptive Controller

Introduction: All Adaptive Controller

About: Student

Desarrollo e Implementación

En este apartado se realizará un análisis de los elementos necesarios para la creación del prototipo propuesto en este trabajo, tanto de software como de hardware, además se dará un breve resumen del desarrollo y la implementación realizada para el prototipo propuesto en este trabajo de titulación.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1:

Software

A continuación, se listará los programas utilizados para el desarrollo de prototipo de control de videojuegos para personas con discapacidad motriz.

Arduino IDE

El Arduino IDE es un software de código abierto y multiplataforma (disponible en Linux, MacOS, Windows), el cual es utilizada para programar y cargar dicho programa en placas Arduino de una manera muy fácil. El IDE permite el uso de los lenguajes C y C++.

Este software fue seleccionado debido a que se tiene un fácil acceso y a su facilidad de uso. Ya que el prototipo será liberado en su totalidad, es necesita que el código sea fácil de entender para poder ser usado o si es necesario mejoras por parte de quien quiera implementarlo.

AutoDesk Eagle

Software multiplataforma (disponible en Linux, MacOS, Windows), de diseño de diagramas y PCBs. Es un programa muy usado para el desarrollo de proyectos electrónicos debido a que su licencia en muchas versiones es gratuita y contiene una gran biblioteca de componentes.

SolidWorks

Software de diseño en 3D para Windows, hecho para el modelamiento de piezas o ensamblajes en 3D y hasta planos en 2D. Para posteriormente poder imprimir en una impresora 3D las estructuras con las que se construirá el prototipo de control de videojuegos.

Hardware

Placa Arduino MICRO

Uno de los elementos fundamentales del prototipo de control de videojuegos es la placa, esta hará el trabajo de manejar todos los eventos o de procesar todos los pulsos que la persona genere el momento de presionar alguna de los botones del mando una vez implementado.

Arduino MICRO

Algunas de las características que se tomó en cuenta para el uso de esta placa en el proyecto fueron: su microcontrolador ATmega32U4, sus dimensiones 48mm x 18mm ya que al ser pequeño se optimiza espacio, su conexión micro USB que facilita conectar a una computadora, 20 pines digitales, 12 pines analógicos.

Elementos electrónicos adicionales

Los demás elementos electrónicos que serán necesarios para el desarrollo del prototipo de control de videojuegos son elementos muy básicos y que se con mucha regularidad dentro de la electrónica, estos elementos son:

Resistencias

Pulsadores

Conectores

Step 2:

Desarrollo

En esta sección se revisará como fue el desarrollo del prototipo de control de videojuegos tanto de hardware como de software. Para esto se a dividido en tres subsecciones en las cuales se indicará el diseño de las placas, el diseño estructural del control y la programación realizada para el microcontrolador.

Diseño circuitería

Para la circuitería del control se realizó el diseño de dos placas en el programa AutoDesk Eagle que se revisó en la anterior sección. Una de las placas diseñadas es la placa principal la cual va a contener los elementos electrónicos principales del prototipo propuesto, y la otra es la placa secundaria la cual se conectarán los elementos externos del control, en dicho circuito nos hemos basado en la teoría de flujos de corriente con la ley básica de OHM la cual nos permite calcular y dimensionar el flujo de corriente dentro de nuestro circuito y ancho de pistas que se utilizan en dicho prototipo.

A continuación, se presentará los diseños esquemáticos para las dos placas que forman parte del prototipo diseñadas de manera escalable para futuras mejoras del prototipo, y con las conexiones estandarizadas a un nivel industrial.

se presenta el diseño esquemático para la placa principal que sera el cerebro que permita el correcto funcionamiento y convergencia entre nuestros sistemas.

se presenta el diseño esquemático para la placa secundaria que nos permite utilizar conectores de fácil acceso y sin manera de ser conectados erróneamente.

A continuación, en la Figura 13 se presenta el diseño de la placa principal. Los elementos electrónicos que van soldados sobre esta placa son el Arduino, las resistencias, conectores y los pulsadores.

Debemos utilizar el diagrama de PCB para poder ubicar correctamente los componentes dentro de nuestro sistema de control.

Placa secundaria

En la Figura 14 podemos ver el diseño realizado para la placa secundaria en esta placa se colocará los conectores para poder enlazar los elementos externos al control de videojuegos y a su vez se enlaza a la placa principal enviando al Arduino todas las acciones que se realice con los pulsadores externos.

Diseño estructural

En esta subsección de diseño estructural se revisará los cada una de las piezas que se imprimieron en una impresora 3D y que forman la parte estructural de prototipo propuesto en este trabajo. Cabe recalcar que todos los diseños de la estructura del control y de los accesorios externos fueron diseñados en el programa antes mencionado SolidWorks.

A continuación, en la Figura 15 se muestra el modelado final en 3D del prototipo que se diseñó. Como se puede visualizar el control consta de siete botones, cuatro usados para las flechas de movimiento (arriba, abajo, izquierda y derecha) y tres botones que dependiendo del videojuego tomarían su rol.

El mando fue diseñado de tal manera que los todos los botones en este sean más fáciles de presionar que en los controles ordinarios, haciendo que algunos videojuegos se vuelvan más accesibles para personas con discapacidad motriz gracias a este mando.

Para la estructura del mando principal se dividió en dos partes, la tapa y la base del prototipo.

Tapa del prototipo

La tapa del prototipo la que será impresa en 3D y en la cual se ubicará los siete botones ya antes mencionados.

Base del prototipo

En la segunda pieza, la base del prototipo será la base para ubicar las dos placas que se diseñaron. Así como la tapa del prototipo la base también será impresa en 3D, el diseño resultante para esta pieza se puede ver .

Elementos externos del prototipo

En esta parte del documento se presentará los diseños estructurales modelados en 3D para los elementos externos o accesorios que este control de videojuegos tendrá este prototipo.

Como accesorios extra o elementos externos se decidió hacer dos botones que representaran los botones (X,Y,Z) del mando principal y un joystick que representara los botones de movimiento (arriba, abajo, izquierda, derecha).

Se puede encontrar el modelado en 3D de los accesorios que se conectaran en la parte trasera del control de videojuegos. Estos accesorios una vez conectados tienen como funcionalidad de servir como extensión de los botones del mando principal. Logrando que estos botones se puedan colocar en algún lugar que sea cómodo para el jugador y sean mucho más fáciles de presionar.

Step 3:

Desarrollo de programación

En esta sección se detallar las librerías, estructuras, funciones y sentencias usadas en el código realizado para el funcionamiento del prototipo y lograr el objetivo de que el prototipo de control de videojuegos sea libre, de fácil entendimiento y replicación.

Como se mencionó en un punto anterior de este documento para el desarrollo de la programación para del microcontrolador ATmega32U4 se realizará en el software Arduino IDE.

Como punto de inicio para el desarrollo del código hay que mencionar que se usó la librería “”. Esta librería permite que el 32U4 sea reconocida en una computadora como un ratón o un teclado nativo de computadora. Lo que la librería nos permite hacer es enviar pulsaciones de teclas a una computadora a través de un puerto USB. Cuando se detecta una pulsación de cualquiera de los botones del mando o de los elementos externos se envían caracteres en código ASCII hacia él computador.

Otras librerías necesarias para el funcionamiento del prototipo son las librerías y , estas librerías se usarán únicamente cuando el joystick este conectado al mando principal. Lo que se logra con estas librerías será remplazar los botones de movimiento en el mando principal.

El código, para una mejor explicación, lo podemos dividir en tres partes las cuales son: declaración de librerías y de variables, la función “setup()” y la función “loop()”.

En el fragmento de declaración de librerías y variables, consta de la librería principal “keyboard.h” y se declara una variable tipo “char” por cada uno de los botones que tiene el mando. Por ejemplo, para el botón de flecha derecha la declaración será la siguiente:

Cabe recalcar que para algunos de los botones que se usa en el prototipo la librería ya tiene comandos preestablecidos para ser usados, como es el caso del ejemplo anterior. Dicho esto, es necesario revisar la librería y verificar que comandos ya están preestablecidos para poder configurar.

El siguiente elemento dentro del código es la función “setup()”, en esta función se realiza la configuración inicial que tendrá el microcontrolador. Se ejecutará la configuración para cada uno de los pines para que se comporten como entrada ya que se usara un pin para cada uno de los botones y además se dará inicio a la librería para que la placa comience la emulación de un teclado.

Como siguiente punto se ejecutara la función “loop()”, esta función será la que se estará ejecutando una y otra vez mientras el control esté conectado. Para esta función se utilizó la sentencia condicional IF para cada uno de los posibles eventos que se puedan generar el momento en que el jugador presione cada uno de los botones de mando principal o un botón de los elementos externos o accesorios que se diseñaron.

El código que se desarrolló para el funcionamiento del prototipo de control de videojuegos se puede encontrar en los anexos

Implementación

Una vez completada la fase de diseño se puede dar inicio la fase de implementación, con todos los elementos electrónicos y las estructuras impresas a la mano se procede a realizar la implementación del prototipo de control de videojuegos propuesto, en esta sección revisaremos rápidamente la elaboración del prototipo.

Step 4: Descarga De Archivos STL

En esta sección se encuentran todos los archivos STL para la implementación del proyecto.

Step 5: Descarga De Archivos Solidworks

En esta sección se encuentran todos los archivos de solidworks para la implementación del proyecto.

Step 6: Descarga De Archivos Arduino

En esta sección se encuentran todos los archivos de Arduino para la implementación del proyecto.

Step 7: Descarga De Archivos Eagle

En esta sección se encuentran todos los archivos de Eagle para la implementación del proyecto.

Be the First to Share

    Recommendations

    • Raspberry Pi Contest 2020

      Raspberry Pi Contest 2020
    • Wearables Contest

      Wearables Contest
    • Fix It Contest

      Fix It Contest

    Discussions