Você está na página 1de 8

Construye tu volante para

videojuegos (DIY)
ELECTRNICA / JUEGOS
etiquetas: juegos y consolas, tutoriales

http://www.neoteo.com/construye-tu-volante-para-videojuegos-diy/
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 artculo que
estabas esperando. Gracias a la maravilla de un acelermetro de tres ejes MMA7260Q vas a
poder construir tu propio volante de juego o experimentar ms all en el desarrollo de esta
plataforma que hoy te traemos. Quizs maana nos cuentes que has transformado este proyecto en
un verdadero Wiimotepara ordenador hecho completamente con tus manos o quin sabe que otra
clase de maravilla. Hoy, seguramente disfrutars como nunca antes tus juegos de carreras con este
volante que tanto necesitabas. Si creas que los volantes de manejo eran para unos pocos
afortunados que podan pagar muchos billetes por ellos, lleg la hora de demostrarte que t tambin
puedes tener uno. Por supuesto, fabricado por ti mismo, que es lo ms importante.
En artculos anteriores, hemos conocido los acelermetros y hemos podido aprender, entre otras
cosas, que son dispositivos de reducidas dimensiones y que poseen la propiedad de detectar
movimientos segn el modo de trabajo al que se los someta. En el modo dinmico, este

componente es capaz de entregarnos una informacin 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 automvil y se puede medir de esa aplicacin las aceleraciones y
desaceleraciones a las que los ocupantes del vehculo son sometidos y que son provocadas por el
manejo demostrativo del conductor del coche. Adems de este modo dinmico, existe una forma
esttica de utilizacin y el resultado es expresado a la salida de un acelermetro con variaciones
de seal, generadas dentro del propio dispositivo, al interactuar ste con la gravedad de la tierra.
Los habrs visto hacer de las suyas en el Wiimote o en los telfonos de alta gama rotando las
imgenes segn la posicin en que el usuario decida manejar su equipo. Con el continuo
abaratamiento de costos, los acelermetros se estn haciendo presentes cada da con ms fuerza
en la electrnica de consumo y de alcance masivo. Desde un indicador de nivel utilizado en
albailera, 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 ms inesperados, casuales y
creativos, llevando soluciones sencillas a grandes problemas que los usuarios deben enfrentar a
diario. Vale recordar, adems, que son capaces de detectar pequeos movimientos en los tres
ejes dimensionales(X, Y, Z) siendo muy requeridos en la actualidad por la mecatrnica y la
robtica para resolver los informes de movimientos y posicin hacia los sistemas de control.

Por ltimo, antes de entrar de lleno en la construccin del volante y considerando la amplia variedad
de estos dispositivos que existe en el mercado, podemos decirte que utilizaremos un acelermetro
con salida analgica para cada eje, de los que slo utilizaremos dos (X e Y). Hacemos esta
salvedad ya que actualmente se estn difundiendo mucho las prcticas con la ltima generacin de
acelermetros que poseen salida I2C y SPI, modelos que esperamos prximamente ensayar y
traerte algn 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 precisin y no requieren de
ajustes de escalas ni arreglos matemticos dentro del programa del microcontrolador para poder
obtener los valores correctos en la salida. Una trama de datos con el valor exacto nunca permite
mrgenes de error o dudas en la conversin.

Nuestro circuito
Armado en torno a un PIC 16F877A, utilizaremos para nuestro volante la informacin obtenida de
dos ejes del acelermetro que ingresaremos a travs de las entradas analgicas AN0 (A Ene Cero)
y AN1 (A Ene Uno). All procederemos a colocar los valores ledos obtenidos a cada momento dentro
de dos variables del tipo WORD las que sern comparadas en forma constante y, de acuerdo a su
valor, realizarn a la salida de los primeros cuatro bits del puerto C acciones especficas, como te
mostramos en el siguiente video.
Seguramente, ya te has dado cuenta de lo sencillo que es acceder a una aplicacin que nos
permitir aglutinar un conjunto de elementos que sabamos que existan y que ahora comprendemos,
poco a poco, cmo se comienza a cristalizar el bosquejo de nuestro volante. Habrs observado en el
video que el display alfanumrico indicaba dos variables que fluctuaban conforme al movimiento que
se ejerca sobre el protoboard. A una de ellas la llamamos DOBLAR y a la otra ACELERAR. En el
listado del programa vers otro nombre para la segunda variable, pero es un sinnimo con el que no
podrs confundirte. Adems de las variables, al inicio del listado de programa, puedes ver las rutinas
de definicin de parmetros para el display LCD y para el conversor analgico-digital. Luego,
los TRIS que determinan la funcin de entrada y/o salida de los puertos utilizados y el correcto ajuste
del registroADCON1 dentro del microcontrolador, para poder realizar una correcta adquisicin de
seales desde cada salida del acelermetro.

Los valores obtenidos en los conversores ADC del PIC no requieren ningn arreglo matemtico
para ser expuestos en el display debido a que ste ser retirado en operacin normal del volante.
Slo est previsto su uso para observar la variacin numrica que muestra al mover el conjunto
hacia atrs o adelante (avanzar/frenar) y hacia los costados (doblar) durante los ensayos. Por lo
tanto, tal como elADC recupera datos desde un mnimo (que no es cero y ya veremos por qu) hasta
1023, as los vers en el display y los utilizars dentro del programa del microcontrolador
comparando los resultados obtenidos con valores preestablecidos. Estas comparaciones ejecutarn
acciones segn la lectura que el acelermetro entregue. Es decir, menos de un valor, indicar una
cosa; ms de otro valor, significar otra, y as adecuars tu programa y tus valores predeterminados
segn el ejemplo que te dejamos. Esto es as debido a que nunca dos construcciones son
idnticas y los resultados siempre estn expuestos a ajustes, por pequeos que estos sean.
Esto ocurre habitualmente cuando se pasa de un prototipo a una unidad terminada y montada,
siempre que se utilicen las entradas analgicas. Las capacidades parsitas a las que un sistema es
expuesto al trabajar en placas de prueba provocan variaciones respecto al montaje definitivo que
unalectura digital por bus I2C no provocara, por ejemplo. Es por esto que si decides montar el
circuito que te proponemos, debers revisar que los valores que utilizamos para su ajuste tambin
sean tiles en tu desarrollo. Si esta condicin no se cumple, puedes cambiar los valores de
comparacin en el cdigo fuente que te dejamos al final del artculo.

En las partes del cdigo donde encontramos las instrucciones HIGH o LOW y a continuacin el
nombre del puerto C seguido del pin involucrado, estars activando o apagando los LED indicadores
de cada accin que ejecute el sistema. Esta misma conexin ser la encargada de habilitar las
llaves internas del CD4066B que se conectarn en paralelo con cada botn 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 podrs valer para realizar con comodidad el
trabajo. Es muy importante en este punto de la construccin que seas altamente prolijo y
cuidadoso ya que debers soldar los cablecillos que salen del CD4066B y llegan a la placa del
teclado para su conexin.
Debers utilizar el cable ms fino que consigas y un teclado que tengas fuera de uso. Si no
posees suficiente prctica con el soldador (o cautn), puedes ocasionar daos en las vas de
conexin que culminarn con el teclado en el bote de basura. Si no posees cables bien finos y buena
prctica en soldar cosas muy pequeas, pide ayuda a alguien antes de emprender este difcil paso.
Y lo ms importante: no te equivoques de vas de conexin. Marca su recorrido si es necesario
para no confundir los lugares a soldar porque, adems de ser un problema el hecho de trabajar en
un espacio tan pequeo, si te equivocas en el recorrido de una va, debers hacer el trabajo dos
veces con el riesgo que ello implica.

Controla bien con el multmetro la continuidad de las vas antes de soldar los cables y asegrate que
lo hars en los lugares correctos y de la forma correcta. Luego, al otro extremo, conecta los cables

(sin errores) al CD4066B. Podrs notar que algunos botones comparten la misma va 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 electrnicas. Con
mucho cuidado, alineas bien el teclado de membrana con la placa y tapas el conjunto sin olvidarte
ningn tornillo. Muchas anotaciones, cables de diversos colores y un ambiente tranquilo te ayudarn
a no cometer errores. Controlar la ansiedad que provoca saber lo que ests construyendo es algo
complejo, pero en NeoTeo estamos seguros que t podrs lograrlo.
Retomando la explicacin de funcionamiento del circuito, puedes observar en la entrada RA3 un
zener ajustable LM336 2.5V que utilizaremos como referencia de tensin a medir en las entradas
analgicas. Es decir, debido a que el acelermetro trabaja con una alimentacin de 3.3 Volts y
en sus extremos de medicin entrega valores comprendidos entre 0.85 Volts y 2.45 Volts,
necesitamos tener un tope de escala (cuando la conversin alcanza la posicin 1023) de 2.5Volts
para un mejor desempeo del sistema. Si utilizramos la referencia fija de 5 Volts, la medicin a
fondo de escala slo llegara hasta la mitad y el error de lectura sera mayor y ms complejo de
solucionar. De este sencillo modo, utilizamos todo el rango del conversor para medir la seal en las
entradas del ADC.

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 mdulo acelermetro que hemos seleccionado
(o el que t decidas utilizar) es un sistema que consume muy poca energa (medio miliamper) en
condiciones normales de uso, no ser necesario que el regulador cuente con disipador de calor y
podrs utilizar cualquier encapsulado sin inconvenientes. Tambin puedes alimentar el mdulo 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 clculo de la resistencia
limitadora.

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
varioscapacitores de desacoplo en la lnea de alimentacin para evitar ruidos elctricos que
puedan perturbar el funcionamiento del sistema y, por ltimo, la recomendacin de
siempre: prolijidad, paciencia y confianza en ti mismo, un conjunto de elementos que te llevarn
siempre hacia buenos resultados. Si todo est correctamente conectado, controlado y ensayado por
partes, como vimos en los videos anteriores, al conectar podrs tener un funcionamiento muy similar
al siguiente:
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 soamos con algo o deseamos ese algo y
no tenemos la mnima idea de cmo llegar a lograr el objetivo. Aqu el camino est marcado y las
posibilidades de ampliacin son muchas. Por ejemplo: en el cdigo del microcontrolador, las
comparaciones son simples. Dobla No Dobla, Acelera No Acelera. T puedes expandir estas
rutinas colocando fases intermedias de doblado para hacer ms suave el doblado, si es necesario.
Es decir, que apenas se salga de la ventana permitida para viajar en lnea 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. Tambin
puedes agregarle pulsadores al sistema y otro sistema de llaves electrnicas para comandar
operaciones en el juego que requieran pulsar ms teclas.
O sea, a partir de aqu los agregados corren por tu conveniencia y posibilidades. Hasta puedes
montar todo el sistema del acelermetro dentro de un fino volante cubierto en cuero de serpiente y
acomodarlo junto a una delicada butaca de competicin creando as un sistema digno de exposicin.
T decides hasta dnde llegas. El paso inicial ya lo has dado al comprender el funcionamiento del
volante y al acordarte que tienes por all un teclado que ya no utilizas. Slo resta conseguir un
puado de componentes y comenzar a disfrutar las carreras de coches como si estuvieras en el
mejor de los videojuegos de saln. Adems, en la Web encontrars mucha info sobre acelermetros
(marcas, modelos, cantidad de ejes, variedad de precio) y su optimizacin de funcionamiento.
Nosotros slo hemos probado este modelo de la marca D-TEC y, como pudiste apreciar, el

funcionamiento es ptimo; el que falla es el que empua el volante. Seguramente t lo hars


mejor.
Edicin 17/12/2009: Como ya nos tiene acostumbrados con sus trabajos, el amigo Yesbond de
Colombia, fiel seguidor de NeoTeo, ha construdo su propio volante para videojuegos basado en las
explicaciones vertidas en este artculo. Como pueden apreciar en las imgenes, la construccin es
posible y slo es cuestin de empeo, esfuerzo, ganas de progresar, y avanzar. Vamos amigos!
Quin sigue con sus demostraciones? Felicitaciones Yesbond! Gracias por estar siempre con
NeoTeo.
AcelermetrosD-TEC
Download:Cdigo fuente para el volante
'****************************************************************
'* NOMBRE : VOLANTE.BAS
*
'* AUTOR
: Mario G. Sacco
*
'* AVISO
: Copyright (c) 2009
*
'*
: All Rights Reserved
*
'* FECHA
: 21/10/2009
*
'* VERSION : 1.0
*
'* NOTA
: MANEJO DE UN VOLANTE PARA JUEGOS DE CARRERAS
*
'*
: UTILIZANDO 2 EJES DE UN ACELERMETRO
*
'****************************************************************
Device = 16F877
'UTILIZAMOS UN 16F877A
Xtal = 4
'CON UN CRISTAL DE 4Mhz
' DEFINIMOS LA CONEXIN DEL LCD
LCD_DTPin = PORTB.4
LCD_RSPin = PORTB.0
LCD_ENPin = PORTB.1
LCD_Interface = 4
LCD_Lines = 2
LCD_Type = 0

'INTERFACE 4-BIT

' DEFINIMOS LOS PARMETROS DEL ADC


Adin_Res = 10
Adin_Tad = FRC
Adin_Stime = 50
' DECLARAMOS LAS VARIABLES
Dim DOBLAR As Word
Dim ACELERO As Word
FRENAR)

'RESOLUCIN 10-BIT
'RC OSC
'TIEMPO DE MUESTREO 50uS
'VARIABLE PARA ALMACENAR EL RESULTADO DE DOBLAR
'VARIABLE PARA ALMACENAR EL RESULTADO DE ACELERAR (O

' CONECTAMOS LA ENTRADA ANALGICA A PORTA.0 (RA0)


TRISA = %11111111
TRISC = %00000000
ADCON1 = %10000001
DelayMS 500
Cls
Clear
LAZO:
DOBLAR = ADIn 0

'TODO EL PUERTO A ES ENTRADA


'TODO EL PUERTO C ES SALIDA
'SETEO EL PUERTO A
'ESPERO 500 MILISEGUNDOS
'LIMPIO EL DISPLAY
'LIMPIO LAS VARIABLES AL INICIAR
'COMIENZO EL LAZO DE FUNCIONAMIENTO

Print At 1,1,"Doblar

= ",Dec DOBLAR,"

If DOBLAR > 750 Then


High PORTC.1:Low PORTC.0
GoTo PEDAL
End If

'SI SE INCLINA A LA IZQUIERDA EL VOLANTE


'ACTIVO LA SALIDA CORRESPONDIENTE
'SALTO AL LAZO DE RUTINA

If DOBLAR > 650 Or DOBLAR < 750 Then


Low PORTC.0:Low PORTC.1
End If
If DOBLAR < 650 Then
High PORTC.0:Low PORTC.1
GoTo PEDAL
End If

" 'MOSTRAMOS EL VALOR DECIMAL

'SI LOS VALORES ESTN EN LA VENTANA


'INTERMEDIA APAGO LAS SALIDAS DE GIRO

'SI SE INCLINA A LA DERECHA EL VOLANTE


'ACTIVO LA SALIDA CORRESPONDIENTE
'SALTO AL LAZO DE RUTINA

PEDAL:
ACELERO = ADIn 1
Print At 2,1,"Acelerar = ",Dec ACELERO,"
If ACELERO > 850 Then
High PORTC.2:Low PORTC.3
GoTo LAZO
End If

GoTo LAZO

'MOSTRAMOS EL VALOR DECIMAL

'SI EST VERTICAL EL MANDO


'ACTIVO EL ACELERADOR Y DESACTIVO EL FRENO
'SALTO AL LAZO DE RUTINA

If ACELERO > 750 Or ACELERO < 850 Then


Low PORTC.2:Low PORTC.3
End If
If ACELERO <750 Then
High PORTC.3:Low PORTC.2
GoTo LAZO
End If

"

'SI LOS VALORES ESTN EN LA VENTANA


'INTERMEDIA APAGO LAS SALIDAS DE
'ACELERACIN Y FRENO

'SI SE PONE HORIZONTAL EL MANDO


'PISO EL FRENO Y SUELTO EL ACELERADOR
'SALTO AL LAZO DE RUTINA
'CERRAMOS EL LAZO

Você também pode gostar