construye tu volante para videojuegos (diy)

Upload: estetico

Post on 05-Jul-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/16/2019 Construye Tu Volante Para Videojuegos (DIY)

    1/8

     

    Construye tu volante para

    videojuegos (DIY) ELECTRÓNICA / 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 artículo queestabas 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 estaplataforma que hoy te traemos. Quizás mañana nos cuentes que has transformado este proyecto enun verdadero Wiimotepara ordenador hecho completamente con tus manos o quién sabe que otraclase de maravilla. Hoy, seguramente disfrutarás como nunca antes tus juegos de carreras con estevolante que tanto necesitabas. Si creías que los volantes de manejo eran para unos pocosafortunados que podían pagar muchos billetes por ellos, llegó la hora de demostrarte que tú tambiénpuedes 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 otrascosas, que son dispositivos de reducidas dimensiones y que poseen la propiedad de detectarmovimientos según el modo de trabajo al que se los someta. En el modo dinámico, este

    http://www.neoteo.com/construye-tu-volante-para-videojuegos-diy/http://www.neoteo.com/construye-tu-volante-para-videojuegos-diy/http://www.neoteo.com/construye-tu-volante-para-videojuegos-diy/http://www.neoteo.com/category/electronica/http://www.neoteo.com/category/electronica/http://www.neoteo.com/category/juegos/http://www.neoteo.com/category/juegos/http://www.neoteo.com/category/juegos/http://www.neoteo.com/tag/juegos-y-consolas/http://www.neoteo.com/tag/juegos-y-consolas/http://www.neoteo.com/tag/juegos-y-consolas/http://www.neoteo.com/tag/tutoriales/http://www.neoteo.com/tag/tutoriales/http://www.neoteo.com/tag/tutoriales/http://www.neoteo.com/johnny-lee-cinco-nuevos-proyectos-wiimote.neohttp://www.neoteo.com/johnny-lee-cinco-nuevos-proyectos-wiimote.neohttp://www.neoteo.com/construye-tu-volante-para-videojuegos-diy/http://www.neoteo.com/johnny-lee-cinco-nuevos-proyectos-wiimote.neohttp://www.neoteo.com/tag/tutoriales/http://www.neoteo.com/tag/juegos-y-consolas/http://www.neoteo.com/category/juegos/http://www.neoteo.com/category/electronica/http://www.neoteo.com/construye-tu-volante-para-videojuegos-diy/http://www.neoteo.com/construye-tu-volante-para-videojuegos-diy/

  • 8/16/2019 Construye Tu Volante Para Videojuegos (DIY)

    2/8

  • 8/16/2019 Construye Tu Volante Para Videojuegos (DIY)

    3/8

    Nuestro circuito  Armado en torno a un PIC 16F877A, utilizaremos para nuestro volante la información obtenida dedos ejes del acelerómetro que ingresaremos a través de las entradas analógicas AN0 (A Ene Cero)y AN1 (A Ene Uno). Allí procederemos a colocar los valores leídos obtenidos a cada momento dentrode dos variables del tipo WORD las que serán comparadas en forma constante y, de acuerdo a suvalor, realizarán a la salida de los primeros cuatro bits del puerto C acciones específicas, como temostramos en el siguiente video.

    Seguramente, ya te has dado cuenta de lo sencillo que es acceder a una aplicación que nospermitirá 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 elvideo que el display alfanumérico indicaba dos variables que fluctuaban conforme al movimiento quese ejercía sobre el protoboard. A una de ellas la llamamos DOBLAR y a la otra ACELERAR. En ellistado del programa verás otro nombre para la segunda variable, pero es un sinónimo con el que nopodrás confundirte. Además de las variables, al inicio del listado de programa, puedes ver las rutinasde 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 ajustedel registroADCON1 dentro del microcontrolador, para poder realizar una correcta adquisición deseñales desde cada salida del acelerómetro.

    Los valores obtenidos en los conversores ADC del PIC no requieren ningún arreglo matemáticopara 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 conjuntohacia atrás o adelante (avanzar/frenar) y hacia los costados (doblar) durante los ensayos. Por lotanto, tal como elADC recupera datos desde un mínimo (que no es cero y ya veremos por qué) hasta1023, así los verás en el display y los utilizarás dentro del programa del microcontroladorcomparando los resultados obtenidos con valores preestablecidos. Estas comparaciones ejecutaránacciones 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 predeterminadossegún el ejemplo que te dejamos. Esto es así debido a que nunca dos construcciones sonidénticas y los resultados siempre están expuestos a ajustes, por pequeños que estos sean.

    Esto ocurre habitualmente cuando se pasa de un prototipo a una unidad terminada y montada,siempre que se utilicen las entradas analógicas. Las capacidades parásitas a las que un sistema esexpuesto al trabajar en placas de prueba provocan variaciones respecto al montaje definitivo queunalectura digital por bus I2C no provocaría, por ejemplo. Es por esto que si decides montar elcircuito que te proponemos, deberás revisar que los valores que utilizamos para su ajuste tambiénsean útiles en tu desarrollo. Si esta condición no se cumple, puedes cambiar los valores decomparación en el código fuente que te dejamos al final del artículo .

    http://www.neoteo.com/microcontroladores-construye-un-lcd-para-i2c-16092.neohttp://www.neoteo.com/microcontroladores-construye-un-lcd-para-i2c-16092.neohttp://www.neoteo.com/microcontroladores-construye-un-lcd-para-i2c-16092.neohttp://www.neoteo.com/monitor-de-tension-de-linea.neohttp://www.neoteo.com/monitor-de-tension-de-linea.neohttp://www.neoteo.com/monitor-de-tension-de-linea.neohttp://www.neoteo.com/lmp8601-amperimetro-0-5a-diy.neohttp://www.neoteo.com/lmp8601-amperimetro-0-5a-diy.neohttp://www.neoteo.com/lmp8601-amperimetro-0-5a-diy.neohttp://www.neoteo.com/adaptador-de-niveles-para-bus-i2c-3-3v-5v.neohttp://www.neoteo.com/adaptador-de-niveles-para-bus-i2c-3-3v-5v.neohttp://cdni.neoteo.com/9959_1024_33246.jpghttp://www.neoteo.com/adaptador-de-niveles-para-bus-i2c-3-3v-5v.neohttp://www.neoteo.com/lmp8601-amperimetro-0-5a-diy.neohttp://www.neoteo.com/monitor-de-tension-de-linea.neohttp://www.neoteo.com/microcontroladores-construye-un-lcd-para-i2c-16092.neo

  • 8/16/2019 Construye Tu Volante Para Videojuegos (DIY)

    4/8

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

    Deberás utilizar el cable más fino que consigas y un teclado que tengas fuera de uso. Si noposees suficiente práctica con el soldador (o cautín), puedes ocasionar daños en las vías deconexión que culminarán con el teclado en el bote de basura. Si no posees cables bien finos y buenapráctica en soldar cosas muy pequeñas, pide ayuda a alguien antes de emprender este difícil paso.Y lo más importante: no te equivoques de vías de conexión. Marca su recorrido si es necesariopara no confundir los lugares a soldar porque, además de ser un problema el hecho de trabajar enun espacio tan pequeño, si te equivocas en el recorrido de una vía, deberás hacer el trabajo dosveces con el riesgo que ello implica.

    Controla bien con el multímetro la continuidad de las vías antes de soldar los cables y asegúrate quelo harás en los lugares correctos y de la forma correcta. Luego, al otro extremo, conecta los cables

    http://www.neoteo.com/como-configurar-un-teclado.neohttp://www.neoteo.com/como-configurar-un-teclado.neohttp://www.neoteo.com/como-configurar-un-teclado.neohttp://cdni.neoteo.com/995B_1024_33248.jpghttp://cdni.neoteo.com/995A_1024_33247.jpghttp://www.neoteo.com/como-configurar-un-teclado.neo

  • 8/16/2019 Construye Tu Volante Para Videojuegos (DIY)

    5/8

    (sin errores) al CD4066B. Podrás notar que algunos botones comparten la misma vía y esoayuda a que sea menor la cantidad de cables a soldar en la placa del teclado. Por lo general, concinco cables se resuelven las ocho conexiones necesarias de las cuatro llaves electrónicas. Conmucho cuidado, alineas bien el teclado de membrana con la placa y tapas el conjunto sin olvidarteningún tornillo. Muchas anotaciones, cables de diversos colores y un ambiente tranquilo te ayudarána no cometer errores. Controlar la ansiedad que provoca saber lo que estás construyendo es algocomplejo, pero en NeoTeo estamos seguros que tú podrás lograrlo.

    Retomando la explicación de funcionamiento del circuito, puedes observar en la entrada RA3 unzener ajustable LM336 2.5V que utilizaremos como referencia de tensión a medir en las entradasanalógicas. Es decir, debido a que el acelerómetro trabaja con una alimentación de 3.3 Volts yen 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.5Voltspara un mejor desempeño del sistema. Si utilizáramos la referencia fija de 5 Volts, la medición “afondo de escala” sólo llegaría hasta la mitad y el error de lectura sería mayor y más complejo desolucionar. De este sencillo modo, utilizamos todo el rango del conversor para medir la señal en lasentradas del ADC.

    Para obtener los 3.3 Volts a partir de los 5 Volts utilizados por el resto del circuito, empleamos  unregulador 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) encondiciones normales de uso, no será necesario que el regulador cuente con disipador de calor ypodrás utilizar cualquier encapsulado sin inconvenientes. También puedes alimentar el módulo conuna resistencia limitadora y un zener  de 3.3 Volts, pero siempre será conveniente el empleo dereguladores fijos y evitar las sorpresas que puede depararnos un error en el cálculo de la resistencialimitadora.

    http://www.neoteo.com/fuente-de-alimentacion-irrompible-diy.neohttp://www.neoteo.com/fuente-de-alimentacion-irrompible-diy.neohttp://www.neoteo.com/fuente-de-alimentacion-irrompible-diy.neohttp://www.neoteo.com/reguladores-de-voltaje.neohttp://www.neoteo.com/reguladores-de-voltaje.neohttp://www.neoteo.com/reguladores-de-voltaje.neohttp://www.neoteo.com/reguladores-de-voltaje.neohttp://www.neoteo.com/diodos.neohttp://www.neoteo.com/diodos.neohttp://www.neoteo.com/diodos.neohttp://cdni.neoteo.com/995C_1024_33249.jpghttp://www.neoteo.com/diodos.neohttp://www.neoteo.com/reguladores-de-voltaje.neohttp://www.neoteo.com/reguladores-de-voltaje.neohttp://www.neoteo.com/fuente-de-alimentacion-irrompible-diy.neo

  • 8/16/2019 Construye Tu Volante Para Videojuegos (DIY)

    6/8

     

    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 prototipode pruebas para ensayar su funcionamiento. En la imagen puedes ver que hemos colocado uninterruptor en la parte superior izquierda para activar o desactivar el sistema. Hemos colocadovarioscapacitores de desacoplo en la línea de alimentación para evitar ruidos eléctricos quepuedan perturbar el funcionamiento del sistema y, por último, la recomendación desiempre: prolijidad, paciencia y confianza en ti mismo, un conjunto de elementos que te llevaránsiempre hacia buenos resultados. Si todo está correctamente conectado, controlado y ensayado porpartes, como vimos en los videos anteriores, al conectar podrás tener un funcionamiento muy similaral siguiente:

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

    O sea, a partir de aquí los agregados corren por tu conveniencia y posibilidades. Hasta puedesmontar todo el sistema del acelerómetro dentro de un fino volante cubierto en cuero de serpiente yacomodarlo junto a una delicada butaca de competición creando así un sistema digno de exposición.Tú decides hasta dónde llegas. El paso inicial ya lo has dado al comprender el funcionamiento delvolante y al acordarte que tienes por allí un teclado que ya no utilizas. Sólo resta conseguir unpuñado de componentes y comenzar a disfrutar las carreras de coches como si estuvieras en elmejor de los videojuegos de salón. Además, en la Web encontrarás mucha info sobre acelerómetros(marcas, modelos, cantidad de ejes, variedad de precio) y su optimización de funcionamiento.Nosotros sólo hemos probado este modelo de la marca D-TEC  y, como pudiste apreciar, el

    http://www.neoteo.com/condensadores.neohttp://www.neoteo.com/condensadores.neohttp://cdni.neoteo.com/995D_1024_33250.jpghttp://www.neoteo.com/condensadores.neo

  • 8/16/2019 Construye Tu Volante Para Videojuegos (DIY)

    7/8

    funcionamiento es óptimo; el que falla es el que empuña el volante. Seguramente tú lo harásmejor .

    Edición 17/12/2009: Como ya nos tiene acostumbrados con sus trabajos , el amigo Yesbond deColombia, fiel seguidor de NeoTeo, ha construído su propio volante para videojuegos basado en lasexplicaciones vertidas en este artículo. Como pueden apreciar en las imágenes, la construcción esposible 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.

     AcelerómetrosD-TEC Download:Código 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 ACELERÓMETRO *'****************************************************************Device = 16F877 'UTILIZAMOS UN 16F877AXtal = 4 'CON UN CRISTAL DE 4Mhz

    ' DEFINIMOS LA CONEXIÓN DEL LCD

    LCD_DTPin = PORTB.4LCD_RSPin = PORTB.0LCD_ENPin = PORTB.1LCD_Interface = 4 'INTERFACE 4-BITLCD_Lines = 2

    LCD_Type = 0

    ' DEFINIMOS LOS PARÁMETROS DEL ADC

     Adin_Res = 10 'RESOLUCIÓN 10-BIT Adin_Tad = FRC 'RC OSC Adin_Stime = 50 'TIEMPO DE MUESTREO 50uS

    ' DECLARAMOS LAS VARIABLESDim DOBLAR  As Word   'VARIABLE PARA ALMACENAR EL RESULTADO DE DOBLARDim ACELERO As Word 'VARIABLE PARA ALMACENAR EL RESULTADO DE ACELERAR (OFRENAR)

    ' CONECTAMOS LA ENTRADA ANALÓGICA A PORTA.0 (RA0)

    TRISA = %11111111 'TODO EL PUERTO A ES ENTRADATRISC = %00000000 'TODO EL PUERTO C ES SALIDAADCON1 = %10000001 'SETEO EL PUERTO A

    DelayMS 500 'ESPERO 500 MILISEGUNDOS

    Cls  'LIMPIO EL DISPLAYClear 'LIMPIO LAS VARIABLES AL INICIARLAZO: 'COMIENZO EL LAZO DE FUNCIONAMIENTO

    DOBLAR = ADIn 0

    http://www.d-tec-argentina.com/d-tec.htmlhttp://www.d-tec-argentina.com/d-tec.htmlhttp://www.4shared.com/file/165232407/6ec5bc5c/Volante.htmlhttp://www.4shared.com/file/165232407/6ec5bc5c/Volante.htmlhttp://www.4shared.com/file/165232407/6ec5bc5c/Volante.htmlhttp://www.4shared.com/file/165232407/6ec5bc5c/Volante.htmlhttp://www.d-tec-argentina.com/d-tec.html

  • 8/16/2019 Construye Tu Volante Para Videojuegos (DIY)

    8/8

     Print At 1,1,"Doblar = ",Dec DOBLAR," " 'MOSTRAMOS EL VALOR DECIMAL

    If DOBLAR > 750 Then 'SI SE INCLINA A LA IZQUIERDA EL VOLANTEHigh PORTC.1:Low PORTC.0 'ACTIVO LA SALIDA CORRESPONDIENTEGoTo PEDAL 'SALTO AL LAZO DE RUTINAEnd If

    If DOBLAR > 650 Or DOBLAR < 750 Then 'SI LOS VALORES ESTÁN EN LA VENTANALow PORTC.0:Low PORTC.1 'INTERMEDIA APAGO LAS SALIDAS DE GIROEnd If

    If DOBLAR < 650 Then 'SI SE INCLINA A LA DERECHA EL VOLANTEHigh PORTC.0:Low PORTC.1 'ACTIVO LA SALIDA CORRESPONDIENTEGoTo PEDAL 'SALTO AL LAZO DE RUTINAEnd If

    PEDAL:

    ACELERO = ADIn 1Print At 2,1,"Acelerar = ",Dec ACELERO," " 'MOSTRAMOS EL VALOR DECIMAL

    If ACELERO > 850 Then 'SI ESTÁ VERTICAL EL MANDOHigh PORTC.2:Low PORTC.3 'ACTIVO EL ACELERADOR Y DESACTIVO EL FRENOGoTo LAZO 'SALTO AL LAZO DE RUTINA

    End If

    If ACELERO > 750 Or ACELERO < 850 Then 'SI LOS VALORES ESTÁN EN LA VENTANALow PORTC.2:Low PORTC.3 'INTERMEDIA APAGO LAS SALIDAS DEEnd If 'ACELERACIÓN Y FRENO

    If ACELERO