<img src="https://queue.simpleanalyticscdn.com/noscript.gif?collect-dnt=true" alt="" referrerpolicy="-when-downgrade"> Construye tu volante para videojuegos (DIY)
NeoTeo
Mario

Construye tu volante para videojuegos (DIY)

Construye tu volante para videojuegos (DIY)

¡Descubre el secreto detrás de convertir un acelerómetro en el componente clave para crear tu propio volante de juegos! Adéntrate en este innovador proyecto que cambiará la forma en que disfrutas tus carreras virtuales…

Si te has sentido un hombre frustrado al entender que un buen videojuego de carreras de coches se juega con un volante de manejo en vez de con las flechitas del teclado, este es el artículo que estabas esperando. Gracias a la maravilla de un acelerómetro de tres ejes MMA7260Q vas a poder construir tu propio volante de juego o experimentar más allá en el desarrollo de esta plataforma que hoy te traemos. Quizás mañana nos cuentes que has transformado este proyecto en un verdadero Wiimote para ordenador hecho completamente con tus manos o quién sabe que otra clase de maravilla. Hoy, seguramente disfrutarás como nunca antes tus juegos de carreras con este volante que tanto necesitabas. Si creías que los volantes de manejo eran para unos pocos afortunados que podían pagar muchos billetes por ellos, llegó la hora de demostrarte que tú también puedes tener uno. Por supuesto, fabricado por ti mismo, que es lo más importante.

En artículos anteriores, hemos conocido los acelerómetros y hemos podido aprender, entre otras cosas, que son dispositivos de reducidas dimensiones y que poseen la propiedad de detectar movimientos según el modo de trabajo al que se los someta. En el modo dinámico, este componente es capaz de entregarnos una información proporcional a las aceleraciones que es sometido junto al elemento que lo lleve consigo durante los ensayos. Es decir, en el ejemplo ya analizado, se lo instala en un automóvil y se puede medir de esa aplicación las aceleraciones y desaceleraciones a las que los ocupantes del vehículo son sometidos y que son provocadas por el manejo demostrativo del conductor del coche. Además de este modo dinámico, existe una forma estática de utilización y el resultado es expresado a la salida de un acelerómetro con variaciones de señal, generadas dentro del propio dispositivo, al interactuar éste con la gravedad de la tierra.

Comprobación de acelerómetro

Los habrás visto hacer de las suyas en el Wiimote o en los teléfonos de alta gama rotando las imágenes según la posición en que el decida manejar su equipo. Con el continuo abaratamiento de costos, los acelerómetros se están haciendo presentes cada día con más fuerza en la electrónica de consumo y de alcance masivo. Desde un indicador de nivel utilizado en albañilería, pasando por tobilleras que pueden monitorear cada paso al caminar, hasta el volante que hoy te vamos a mostrar, las aplicaciones se encuentran en los lugares más inesperados, casuales y creativos, llevando soluciones sencillas a grandes problemas que los s deben enfrentar a diario. Vale recordar, además, que son capaces de detectar pequeños movimientos en los tres ejes dimensionales (X, Y, Z) siendo muy requeridos en la actualidad por la mecatrónica y la robótica para resolver los informes de movimientos y posición hacia los sistemas de control.

Construye tu volante para videojuegos (DIY)
El acelerómetro de la firma D-TEC utilizado en los ensayos

Por último, antes de entrar de lleno en la construcción del volante y considerando la amplia variedad de estos dispositivos que existe en el mercado, podemos decirte que utilizaremos un acelerómetro con salida analógica para cada eje, de los que sólo utilizaremos dos (X e Y). Hacemos esta salvedad ya que actualmente se están difundiendo mucho las prácticas con la última generación de acelerómetros que poseen salida I2C y SPI, modelos que esperamos próximamente ensayar y traerte algún montaje atractivo con ellos. La ventaja que poseen por sobre los dispositivos de salida lineal es que poseen mayor inmunidad al ruido, mayor sensibilidad y precisión y no requieren de ajustes de escalas ni arreglos matemáticos dentro del programa del microcontrolador para poder obtener los valores correctos en la salida. Una trama de datos con el valor exacto nunca permite márgenes de error o dudas en la conversión.

Volante de carreras

Seguramente, ya te has dado cuenta de lo sencillo que es acceder a una aplicación que nos permitirá aglutinar un conjunto de elementos que sabíamos que existían y que ahora comprendemos, poco a poco, cómo se comienza a cristalizar el bosquejo de nuestro volante. Habrás observado en el video que el display alfanumérico indicaba dos variables que fluctuaban conforme al movimiento que se ejercía sobre el protoboard. A una de ellas la llamamos DOBLAR y a la otra ACELERAR. En el listado del programa verás otro nombre para la segunda variable, pero es un sinónimo con el que no podrás confundirte. Además de las variables, al inicio del listado de programa, puedes ver las rutinas de definición de parámetros para el display LCD y para el conversor analógico-digital. Luego, los TRIS que determinan la función de entrada y/o salida de los puertos utilizados y el correcto ajuste del registro ADCON1 dentro del microcontrolador, para poder realizar una correcta adquisición de señales desde cada salida del acelerómetro.

Construye tu volante para videojuegos (DIY)
Encabezado del programa donde vemos las definiciones de las variables y el resto de las declaraciones

Los valores obtenidos en los conversores ADC del PIC no requieren ningún arreglo matemático para ser expuestos en el display debido a que éste será retirado en operación normal del volante. Sólo está previsto su uso para observar la variación numérica que muestra al mover el conjunto hacia atrás o adelante (avanzar/frenar) y hacia los costados (doblar) durante los ensayos. Por lo tanto, tal como el ADC recupera datos desde un mínimo (que no es cero y ya veremos por qué) hasta 1023, así los verás en el display y los utilizarás dentro del programa del microcontrolador comparando los resultados obtenidos con valores preestablecidos. Estas comparaciones ejecutarán acciones según la lectura que el acelerómetro entregue. Es decir, menos de un valor, indicará una cosa; más de otro valor, significará otra, y así adecuarás tu programa y tus valores predeterminados según el ejemplo que te dejamos. Esto es así debido a que nunca dos construcciones son idénticas y los resultados siempre están expuestos a ajustes, por pequeños que estos sean.

Construye tu volante para videojuegos (DIY)
Rutina de comparación de los valores obtenidos en una de las entradas del ADC

En las partes del código donde encontramos las instrucciones HIGH o LOW y a continuación el nombre del puerto C seguido del pin involucrado, estarás activando o apagando los LED indicadores de cada acción que ejecute el sistema. Esta misma conexión será la encargada de habilitar las llaves internas del CD4066B que se conectarán en paralelo con cada botón correspondiente a las flechas de movimiento del cursor, ubicadas en un teclado convencional. De esta forma, ayudado por un elemento que ya no utilizas (el viejo teclado), te podrás valer para realizar con comodidad el trabajo. Es muy importante en este punto de la construcción que seas altamente prolijo y cuidadoso ya que deberás soldar los cablecillos que salen del CD4066B y llegan a la placa del teclado para su conexión.

Construye tu volante para videojuegos (DIY)
Mucha atención y cuidado al trabajar dentro del teclado

Controla bien con el multímetro la continuidad de las vías antes de soldar los cables y asegúrate que lo harás en los lugares correctos y de la forma correcta. Luego, al otro extremo, conecta los cables (sin errores) al CD4066B. Podrás notar que algunos botones comparten la misma vía y eso ayuda a que sea menor la cantidad de cables a soldar en la placa del teclado. Por lo general, con cinco cables se resuelven las ocho conexiones necesarias de las cuatro llaves electrónicas. Con mucho cuidado, alineas bien el teclado de membrana con la placa y tapas el conjunto sin olvidarte ningún tornillo. Muchas anotaciones, cables de diversos colores y un ambiente tranquilo te ayudarán a no cometer errores. Controlar la ansiedad que provoca saber lo que estás construyendo es algo complejo, pero en NeoTeo estamos seguros que tú podrás lograrlo.

Retomando la explicación de funcionamiento del circuito, puedes observar en la entrada RA3 un zener ajustable LM336 2.5V que utilizaremos como referencia de tensión a medir en las entradas analógicas. Es decir, debido a que el acelerómetro trabaja con una alimentación de 3.3 Volts y en sus extremos de medición entrega valores comprendidos entre 0.85 Volts y 2.45 Volts, necesitamos tener un tope de escala (cuando la conversión alcanza la posición 1023) de 2.5 Volts para un mejor desempeño del sistema. Si utilizáramos la referencia fija de 5 Volts, la medición “a fondo de escala” sólo llegaría hasta la mitad y el error de lectura sería mayor y más complejo de solucionar. De este sencillo modo, utilizamos todo el rango del conversor para medir la señal en las entradas del ADC.

Construye tu volante para videojuegos (DIY)
Circuito propuesto para tu nuevo volante

Para obtener los 3.3 Volts a partir de los 5 Volts utilizados por el resto del circuito, empleamos un regulador serie llamado AZ1117 3.3. Gracias a que el módulo acelerómetro que hemos seleccionado (o el que tú decidas utilizar) es un sistema que consume muy poca energía (medio miliamper) en condiciones normales de uso, no será necesario que el regulador cuente con disipador de calor y podrás utilizar cualquier encapsulado sin inconvenientes. También puedes alimentar el módulo con una resistencia limitadora y un zener de 3.3 Volts, pero siempre será conveniente el empleo de reguladores fijos y evitar las sorpresas que puede depararnos un error en el cálculo de la resistencia limitadora.

Construye tu volante para videojuegos (DIY)
Distribución y montaje de nuestro prototipo

Como puedes apreciar, el montaje no reviste mayor complejidad a la que ya estamos acostumbrados y, con paciencia y con los materiales necesarios, en una tarde ya tienes que tener listo tu prototipo de pruebas para ensayar su funcionamiento. En la imagen puedes ver que hemos colocado un interruptor en la parte superior izquierda para activar o desactivar el sistema. Hemos colocado varios capacitores de desacoplo en la línea de alimentación para evitar ruidos eléctricos que puedan perturbar el funcionamiento del sistema y, por último, la recomendación de siempre: prolijidad, paciencia y confianza en ti mismo, un conjunto de elementos que te llevarán siempre hacia buenos resultados. Si todo está correctamente conectado, controlado y ensayado por partes, como vimos en los videos anteriores, al conectar podrás tener un funcionamiento muy similar al siguiente:

Volante para videojuegos con acelerómetro

Conclusiones

Este montaje que te mostramos es la piedra fundamental del gran sistema de manejo que puedes llegar a construir. En muchas oportunidades ocurre que soñamos con algo o deseamos ese algo y no tenemos la mínima idea de cómo llegar a lograr el objetivo. Aquí el camino está marcado y las posibilidades de ampliación son muchas. Por ejemplo: en el código del microcontrolador, las comparaciones son simples. “Dobla – No Dobla”, “Acelera – No Acelera”. Tú puedes expandir estas rutinas colocando fases intermedias de doblado para hacer más suave el doblado, si es necesario. Es decir, que apenas se salga de la “ventana” permitida para viajar en línea recta, exista una primera instancia donde la salida al CD4066B sean pulsos muy breves que no signifiquen doblar bruscamente sino que permitan una mayor suavidad y un mejor dominio del volante. También puedes agregarle pulsadores al sistema y otro sistema de llaves electrónicas para comandar operaciones en el juego que requieran pulsar más teclas.

Volante para videojuegos

Edición 17/12/2009: Como ya nos tiene acostumbrados con sus trabajos, el amigo Yesbond de Colombia, fiel seguidor de NeoTeo, ha construído su propio volante para videojuegos basado en las explicaciones vertidas en este artículo. Como pueden apreciar en las imágenes, la construcción es posible y sólo es cuestión de empeño, esfuerzo, ganas de progresar, y avanzar. ¡Vamos amigos! ¿Quién sigue con sus demostraciones? ¡Felicitaciones Yesbond! Gracias por estar siempre con NeoTeo.

Timon con Acelerometro Neoteo

Acelerómetros

D-TEC

:

Código fuente para el volante

Etiquetas

#Tutoriales
avatar

muy bueno che interesante voy a ver si consigo un acelerometro de estos

avatar
avatar

Uffffff que suerte!!!! y yo que iba ahora a comprarme un volante para mi nuevo juego de coches.

avatar
avatar

Muy buen artículo Mario!!!

avatar
avatar

Muy bueno... pero no entiendo como se podrían implementar acciones de doblado mas suave o acelerado/frenado moderado, si en últimas utilizamos los comandos del teclado y lo que hace el circuito con el aceleromentro es traducir las acciones del volante por las teclas de dirección... Suponge q para tener un control mas fino se requeriria utilizar un gamepadcon analogos en vez del teclado...

avatar
avatar

Sí, NeoTeo no es un blog más...

avatar
avatar

Mario sabes como se pueden conseguir los MMA7260Q (o cualquier otro acelerometro) aca en la argentina? digamos sin tener que pagar una fortuna por ellos.

avatar
avatar

Hola, yo tengo un protoboard tirado por ahi, no podrias hacer varios articulos de introduccion a la electronica y tambien para poder programarlos, porque la verdad me interesa, saludos desde ARGENTINA!

avatar
avatar

muy bueno mario , lo malo que no soy bueno en la electronica xd, muy bueno gracias.

avatar
avatar

Wow, te pasaste, que excelente artículo...

avatar
avatar

Hola Mario:
Creo que la mayoria de las personas que nos gusta la electronica, tambien nos gustan los video juegos. Por ejemplo yo desde pequeño, cuando salia del cole corria directo a la drogueria a juga, contra, mario bross, tetris y todos lo juegos de mi epoca, y siempre me preguntaba, como uno podria llegar a controlar un juego, era un misterio. Y bueno ahora se como funciona, pero con este articulo de verdad que vas ha cumplir uno de mis sueños de chico, muchas gracias Mario, de verdad que nos despiertas la creatividad y animos para levantarnos cada dia y saber que nada puede ser demasiado dificil como para no hacerlo.

Un gran abrazo desde Colombia.

avatar
avatar

Chévere. Justo lo que necesito para videojuegos de aviación.

avatar
avatar

Excelente el artículo mario.... una duda los volantes comerciales trabajan con resistencias variables en lugar d acelerometros??
Pero excelente la idea ya que resuelve todo el sistema con solo dos canales del AD..

avatar
avatar

WOW, haces que se vea tan facil, y de seguro ahora lo veo asi. esperaré que salga la tinta imprime circuitos, y lo haré.
espero algun dia construir un acelerador de particulas contigo. plop!

avatar
avatar

Muy interesante.. si este verano llego a conseguir algún acelerometro me voy a poner a hacer este proyecto. Lo complicado es que soy de mendoza y por acá no se consiguen, solo haciendo pedidos por internet. Muchas gracias por compartir tremendo articulo..


Salu2..

avatar
avatar

che que bueno esto es LUPIN 2.0 jeje

lastima q mis incursiones en la electronica no superaron "motorcitos" de mis autitos de juguete y algún coqueteo con las lamparitas densarmadas del arbolito :P

ya fue por 190 mangos pego un volante y lesto jeje

avatar
avatar

Que tal Mario
tengo una pregunta, que entorno de programación usas en este proyecto?

avatar
avatar

Hola espero todo bien yo soy de mexico se me hace muy interesante este articulo pero una pregunta donde pueda adquirir el ecelerometro si puedes mandame un correo vale gracias

avatar
avatar

que loca pagina, primera vez q entro, interesante MUY, mi pregunta es, dado la cantidad de cabezas quemadas por intentar un FFB, se podria usar un acelerometro conectado a una placa de potencia fuerce a un motor paso a paso a mantenerse derecho???, insisto muy buena la pagina

avatar
avatar

Cual es la lista completa de componentes?? el circuito no se ve muy bn

avatar
avatar

Esta genial este proyecto, me gustaría realizarlo pero lamentablemente la imagen del esquemático no se ve muy bien, me podrías facilitar la lista de componentes ?? Gracia.

avatar

Debes iniciar sesión para publicar un comentario.