Foros ZackYFileS

Foros ZackYFileS (http://foros.zackyfiles.com/index.php)
-   XBOX 360 (http://foros.zackyfiles.com/forumdisplay.php?f=425)
-   -   Proyecto MANDO XBOX360 con SENSOR DE MOVIMIENTO !! (http://foros.zackyfiles.com/showthread.php?t=508094)

ZackY 07/04/2007 17:44

Proyecto MANDO XBOX360 con SENSOR DE MOVIMIENTO !!
 
Hace unos meses un aficionado a la electrónica y la XBOX publico un dispositivo, que acoplado a un mando inalámbrico de XBOX 360, le otorgaba a este mando características de las que disponen mandos como los de la Wii y la PS3. Podéis ver a su creador en su web: http://www.adamthole.com

Aquí podeis ver el resultado: http://www.youtube.com/watch?v=Dnd5O2P2uD0

Lamentáblemente este desarrollador finalmente no publico su desarrollo ni lo compartio con la comunidad, si no que lo vendio a una empresa que en breve lo comercializará.

Desde esta sección quiero plantearos la realización de un proyecto similar, para poder ahorrarnos unas pelillas, ya que pienso que tardará aún en llegar este dispositivo y su precio no será barato precisamente :).

COMENZAMOS CON EL PROYECTO:

He estado revisando el sistema y no es para nada complicado. De hecho si leéis todo este posts comprobaréis que practicamente ya tenemos ese dispositivo (a falta de afinarlo y realizar unas pequeñas modificaciones).

Prácticamente el principal trabajo lo realiza el sensor/acelerómetro MMA6262Q. En ese datasheet que adjunto se puede incluso ver que el circuito típico de aplicación ("Typical Application") es idéntico al usado en este proyecto, con un Microcontrolador PIC16F88.

El sensor/acelerometro MMA6262Q entrega una tensión analógica dependiente de la orientación X-Y. Esa señal se la entrega a un microcontrolador PIC16F88 por su entrada analogico/digital. Los niveles de tensión analógica entregados por el sensor/acelerómetro son convertidos a niveles digitales TTL y escalados (rango) para adaptarlo a los grados del potenciómetro usado en el mando de la XBOX360. Posteriormente la salida resultante de esa adaptación es nuevamente convertida a tensión analógica por el conversor digital/analogico MCP4922 y finalmente esa señal analógica es la que se conecta a la placa del mando de la XBOX 360.

Resumiendo, lo que realmente hace el Microcontrolador PIC16F88 usado en ese proyecto es adaptar los niveles de tensión entregados por el sensor/acelerómetro a los niveles de escalado (rango) que usa el potenciómetro del mando.

Y aqui viene la buena noticia para los que somos algo perezosos a la hora de ponernos a desarrollar softs para microcontroladores PICs desde 0... Existen proyectos de ejemplo del uso de ese mismo sensor/acelerómetro con PICs. Os pongo aquí un ejemplo del uso del mismo sensor/acelerómetro con un PIC:

MATERIALES:

2- Resistencias SMD de 1K (1206)
3- Condensadores de 100nf (1206)
1- Acelerometro bi-axial (x,y) MMA6262Q

DISEÑO DE LA PLACA DE PRUEBA DEL SENSOR/ACELEROMETRO:
http://www.jvmbots.com/posted_img_th...os/Parte_1.gif

PLACA DEL SENSOR YA MONTADA:
http://www.jvmbots.com/posted_img_th...os/Pineado.gif
http://www.jvmbots.com/posted_img_th...s/enzocalo.gif

CODIGO FUENTE PARA PROBAR EL SENSOR/ACELEROMETRO:

Este codigo maneja dos servos de forma que uno afecta al eje X y el otro al eje Y, de forma que cuando el acelerometro esta completamente llano los servos estan al centro de su recorrido (90º) y conforme inclinamos el acelerometro observamos como los servos van girando segun dicha inclinacion.

Para ello se ha utilizado un PIC18F452 a 4Mhz y se ha empleado dos entradas analogicas (x,y) y dos salidas digitales para los servos. Se puede adaptar este codigo para cualquier pic que disponga de al menos dos entradas analogicas y dos salidas digitales.

Pongo aqui el código de ejemplo desarrollado en PIC por Julio Montagut:

Descargar Code

Código:

Program Acelerometro 
 
'Programa acelerometro ********************************************************* 
'Este codigo recorre los 180º de rango del servo cuando desplazamos en X e Y el 
'acelerometro MMA6262Q, la version es de Mikrobasic 5.0.0.0 

'Creado y verificado por: Julio Montagut 
'Web: http://www.jvmbots.com 

'Valores recogidos en modo analogico (8 bits): 
'    Horizontal:  76.77 
'    Minimo:      39 
'    Maximo:      115 

'-HARDWARE: 
'    MCU: PIC 18F452 
'    Cristal: 4 Mhz 
'    1- Servo Futaba S3003 conectado a PORTB.0 
'    1- Servo Futaba S3003 conectado a PORTB.1 
'    - Canal X del MMA6262Q conectado a PORTA.0 
'    - Canal Y del MMA6262Q conectado a PORTA.1 
'******************************************************************************* 
 
 
dim VAD1, VAD2 as word 
dim AD1, AD2 as byte 
dim Tmp1, Tmp2 as byte 
dim Tmp1A, Tmp2A as byte 
dim aa as byte 
 
'Sub-rutina para generar pulsos a los servos 0-255 
Sub procedure Pulsout(dim byref Puerto as byte,dim Pin as byte,dim Pos as Byte) 
 Setbit(Puerto,Pin) 
 Delay_Cyc(Pos) 
 Clearbit(Puerto,Pin) 
End sub 
 
 
main: 
 ADCON1 = $80                  ' Configuracion analogica y Vref 
 TRISA  = $FF                  ' PORTA como entradas 
 TRISB=0                        ' PORTB como salidas 
 
 'Inicializacion 
 PORTB=0 
 Tmp1=127 
 Tmp1A=127 
 Tmp2=127 
 Tmp2A=127 
 
 while TRUE 
  'Lectura analogica (10 bits) 
  VAD1 = Adc_Read(0) 
  VAD2 = Adc_Read(1) 
 
  'Conversion de 10 a 8 Bytes del conversor AD 
  AD1= byte(VAD1 >>2) 
  AD2= byte(VAD2 >>2) 
 
  'Coeficiente de escala para el recorrido completo 
  Tmp1=((AD1*2)-20) 
  Tmp2=((AD2*2)-20) 
 
  'Corrector del Margen de vibracion 
  If (Tmp1<(Tmp1A-2)) or (Tmp1>(Tmp1A+2)) then Tmp1A = Tmp1 end if 
  If (Tmp2<(Tmp2A-2)) or (Tmp2>(Tmp2A+2)) then Tmp2A = Tmp2 end if 
 
  'Envio a los servos 
  For aa=0 to 2 
    Pulsout(PORTB,0,Tmp1A)      'Enviamos el tren de pulsos para el servo1 
    Pulsout(PORTB,1,Tmp2A)      'Enviamos el tren de pulsos para el servo2 
    Delay_ms(20) 
  Next aa 
 
 wend 
end.

En ese code será necesario elditar las rutinas del manejo de servos, ya que esas salidas son nuestras XOUT e YOUT que irán al conversor digital/analógico

Aqui un video de la prueba del sensor/acelerometro con el PIC:

Una última sugerencia. Pienso que se podría prescindir del conversor Digital/Analogico MCP4922, si colocásemos un Microcontrolador que ya dispusiese de ese conversor internamente.

AGRADECIMIENTOS:

A Julio Montagut por su estupendo proyecto para la adaptación y prueba del sensor/acelerómetro, corazón de este proyecto.

Espero que esta idea os resulte atractiva y ayudéis a la adaptación de este proyecto para su colocación en un mando de XBOX 360.

PETICIÓN

Please, os pediría que si estáis interesados en ayudar, sugerir o colaborar en este proyecto, lo hagáis en este mismo hilo.

Agradecemos igualmente si este proyecto es anunciado en otros foros, pero please, NO COPIÉIS ESTE HILO integramente en otros foros, ayudar a desarrollarlo desde aquí. Si lo deseáis podéis copiar este enlace en otros foros: http://foros.zackyfiles.com/showpost...30&postcount=1

ZackY 07/04/2007 18:11

Este es el esquema del proyecto TILTBoard de adamthole.

CONEXIONES ENTRE COMPONENTES:

http://foros.zackyfiles.com/files/schema.jpg

ESQUEMA ELECTRICO del TILTBoard:

http://foros.zackyfiles.com/files/schema.png

rapazman 07/04/2007 18:13

Zacky, hacen falta conocimientos de programacion o algo asi?

ZackY 07/04/2007 18:19

Placa y colocación de los componentes del TiltBoard:

http://foros.zackyfiles.com/files/tiltboard.jpg

http://foros.zackyfiles.com/files/silkscreen.jpg

ZackY 07/04/2007 18:22

Practicamente el trabajo de programación ya esta hecho. Quizás haya que adaptar el "escalado" (los pasos, grados de movimiento) para conectarlo al mando de la xbox360. La adaptación a otros tipos de PICs también es practicamente inmediata, por lo que básicamente solo queda reportar el cableado al mando (en breve lo posteo), y hacer las primeras pruebas.

Sería bueno también si alguno pudiéra informar sobre tiendas o enlaces donde se venda el sensor/acelerometro [B]MMA6262Q[/B]

sampatan31 08/04/2007 01:15

Por lo visto esos acelerómetros son de Freescale Semiconductors, pero creo que lo han dejado de fabricar y ahora ponen como reemplazo este otro MMA6270QT, que se puede pedir como sample o muestra gratuita a la pagina de Freescale.

http://www.freescale.com/webapp/sps/...code=MMA6270QT

Aqui se pueden pedir muestras gratuitas, y llegan, comprobado con unos sensores de humedad y presion que aun quiero hacer funcionar con PICs.

Lo malo, es la soldadura smd, pero bueno algo se hara.

Salu2 a To2.

Darkpanzer 08/04/2007 01:27

A mi me interesa desarrollarlo, el problema que no encuentro el acelerometro, he buscado en Barcelona y nada, alguien sabe donde se podria conseguir? o alguna web donde lo vendan?

Venga, que esto se anima !

ZackY 08/04/2007 02:31

Gracias sampatan31. Efectivamente, el modelo que actualmente se comercializa como sensor de aceleración X-Y es el MMA6270QT. Dispone del mismo patillaje y funcionalidad, por lo que es directamente extrapolable sin necesidad de ningún cambio en la circuitería.

Pero fíjate en el MMA7260QT. Es un sensor de 3 ejes!!: X, Y y Z. Con ese sensor se podria además dar profundidad (avance del personaje por ejemplo).

ZackY 08/04/2007 03:32

Aqui tenemos un listado de distribuidores de ese componente en españa:
Cita:

Distributors available for your shipping location: SPAIN
Distributor Telephone Email
Arrow / Silverstar Ltd - Las Arenas - Vizcaya +94.464.44.00
Arrow / Silverstar Ltd - Lasarte - Guipuzcoa +943.36.62.16
Arrow / Silverstar Ltd - Madrid +91.304.30.40
Arrow / Silverstar Ltd - Paterna +96.384.15.00
Arrow / Silverstar Ltd - Zaragoza +97.632.31.00
BFI Optilas +34 (91) 453 11 60 info.es@bfioptilas.com
EBV Elektronik - Esplugues De Llobregat +34.93.473.32.00
EBV Elektronik GmbH - Tres Cantos +34.91.804.32.56
Farnell InOne +44.113.231.0447 ventas@farnellinone.com
Future Electronics - Barcelona +00 34 93 582 43 43 cast@future.ca
Future Electronics - Madrid +00 34 91 721 42 70 cast@future.ca
Richardson Electronics +34.91.528.3700 rwc@rell.com
Rochester Electronics sales@rocelec.com
Silica (An Avnet Company) - Barcelona +34.93.327.85.30 silica.barcelona@avnet.com
Silica (An Avnet Company) - Madrid +34.91.372.71.00 silica.madrid@avnet.com
Silica (An Avnet Company) - Vizcaya +34.944.57.27.77 silica.bilbao@avnet.com

grangerardo 08/04/2007 09:02

Hace tiempo que estaba buscando esto. Aqui mi problema es como fabricar la placa, porque los componentes es ir comprandolos. Cuando se de el caso, ya buscare la manera de hacerla.

Buenisimo el articulo.

sampatan31 08/04/2007 11:24

Por lo visto tambien se pueden pedir como samples, y sid e momento solo es para el prototipo y para ver si funciona se podrian pedir, ya que salen totalmente gratis y confirmado que llegan.

http://www.freescale.com/webapp/sps/...58625737424209

Salu2 a To2.

P.D. Practicamente todos los componentes que necesita el circuito se pueden pedir como muestras con el consiguiente ahorro.

110374 11/04/2007 14:26

joder , macho , ?hay algo en esta vida que no sepas hacer?, madre mia que maquina.

salu2

ZackY 13/04/2007 02:44

Ya me he pedido el sensor/acelerómetro de 3 ejes (XYZ). Os cuento cuando lo reciba...

grangerardo 13/04/2007 13:24

Quizas sea mucho pedir, pero si vais a montar algo o programar algo, os importaria hacer unas fotillos de donde va cada cosa, porque algunos estamos muy verdes.

ZackY 13/04/2007 14:10

De eso se trata grangerardo iremos informando en este hilo de los avances, y reportaremos con fotos si finalmente el proyecto es viable.

Hoy me han llegado los sensores/acelerometros, haré unas pruebecillas con ellos...

sampatan31 13/04/2007 16:11

Los PICs y los conversores tambien se pueden pedir como samples, seguramente tendras conversores tambien en www.microchip.com los PIC porsupuesto.

Salu2 a To2.

ZackY 13/04/2007 18:22

joe! que gozada, tienen el PIC16F88 y el conversor digital/analogico MCP4922 como sample!!!. Entonces este proyecto va a salir tirado de precio :).

Darkpanzer 23/04/2007 08:32

Ya he pedido el PIC y el conversor a Microchip, cuando me lleguen tendre para 2 prototipos, montare 1 y lo provare, ya ire poniendo conclusiones.

zmok 09/05/2007 23:37

que paso con el diagrama que estaba en este foro .. ya estaba todo listo ...porque lo quitaron

zmok 10/05/2007 00:47

ya jalo
 
eh probado ..el mma6231q es un sensor de inclinacion y jala a la perfeccion ... cualquier duda pueden comunicarse conmigo .... despues pondre fotos ... digo me acaba de salir e ire a comer ... k jojojoojo

grangerardo 10/05/2007 01:50

zmok, tienes ya montado el mando??, a ver esas fotillos!!

ZackY 10/05/2007 02:04

zmok, el diagrama al que creo que te referías estaba en la primera página de este hilo (aunque creo que ya lo has encontrado :) ), aqui en este post: http://foros.zackyfiles.com/showpost...56&postcount=2

Please, reporta los avances que vayas consiguiendo, fotos, etc, si puedes.

Sería también bueno una foto del mando abierto indicando los puntos de soldadura del pcb del acelerómetro al mando.

zmok 12/05/2007 06:38

zaludoz
 
ola d nuevo ...tngo una duda ...ya tengo algunos fotos del MMA6231Q ... PCB ... ARMADO ....LIZTO ... pero no se como ponerlas aqui en la pagina ... xfavor alguien que me diga como .. grax ... :confuso:

ZackY 13/05/2007 04:54

Es muy sencillo. Visita esta web: http://www.imageshack.us, pulsas el boton "Examinar", seleccionas la foto, luego pulsas "Host It" y se cargará en la web y pones aqui el código que te proporcionara. Copia el codigo que te indica como "Hotlink for forums (1)" en tu hilo y ya esta!.

ZackY 13/05/2007 17:46

¿zmok eres programador de PICs?. Tengo pensado meterme en breve a aprender a programar esos Microcontroladores (nunca he sacado antes tiempo para ello, espero que ahora si pueda :)), yo vengo de los 8031, y algo se me quedo... Te consulto esto porque sería interesante montar en estos Foros (sección Electónica), una sección para tratar esos temas y poner un minicursillo para programar PICs. Sería estupendo que alguien con experiencia pudiera llevar esa sección para ayudarnos al resto.

zmok 17/05/2007 22:32

orale
 
ola ... dizkulpen por contestar hasta aorita ... oye zack me parece muy buena idea del foro para electronica ... y del curso de microcontroladores ... cuenten conmigo .. podre ayudarles en lo que pueda ...

grangerardo 17/05/2007 23:16

Alguien tiene ya el mando montado y funcionando??.

zmok 28/05/2007 18:33

?¿?
 
oye gerardo a que te refierez kon el mando ?¿? ....

grangerardo 16/11/2007 15:52

Habeis visto el colega que ha conseguido hacer funcionar (y considerablemente bien) el mando de la wii + nunchk en la x360??.

piranha_79 13/02/2008 17:49

Que pasaría si ademas añadiéramos un conector para ratón???
 
Pues eso

Aprovechando que instalamos el sensor, se podría añadir un conector usb para conectar al mando un ratón usb?


La franja horaria es GMT +2. Ahora son las 15:02.

Powered por vBulletin™ Version 3.8.10
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.
Traducido por vBsoporte - vBulletin en español
ZackYFileS - Foros de Debate