TODOPIC

Microcontroladores PIC => * PROYECTOS * => Mensaje iniciado por: gera en 22 de Mayo de 2009, 16:42:31

Título: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: gera en 22 de Mayo de 2009, 16:42:31
Buenas muchachos!!!
Les cuento q llevo unos dias trabajando en esto y luego de horas luchando contra el ruido y el stack por fin tengo una version relativamente funcional jeje. :-/
Les pido perdon por el esquematico, lo arme a las apuradas para q se den una idea del circuito, pero el q tengo ensamblado es un poquito mas elaborado jeje. El codigo es un poquito largo, pero trate de modularizar lo mas q pude para q lo puedan entender. Esta compilado con CSS C.
Todavia tengo unos problemitas de ruido por ahi :5]. La macana es q si filtro la señal, se genera un delay un poco molesto. Fijense q en el codigo hay un filtro butterworth comentado.
En fin, cualquier pregunta, sugerencia o critica sera bienvenida! :lol:
Gracias!!!

(http://img269.imageshack.us/img269/9541/mouse.th.jpg) (http://img269.imageshack.us/my.php?image=mouse.jpg)
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: migsantiago en 22 de Mayo de 2009, 17:14:26
Hola Gera

Qué curioso, un mouse movido con un acelerómetro, qué original.  :mrgreen:

Oye, ¿no te fue suficiente el filtro analógico que pones en la entrada? ¿Porqué quisiste poner el digital?
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: gera en 22 de Mayo de 2009, 17:41:53
Hola Santi!! Gracias por tu comentario :)
Te cuento q tuve q aplicar 4 filtros para obtener una señal estable. Un pasabajos analogico, un promedio, una ventana, y un butterworth de 2º orden. Asiq el pasabajos analogico no es para nada suficiente, teniendo en cuenta q tambien hay q filtrar interferencias mecanicas y cosas por el estilo.
Ademas hay q integrar la aceleracion para obtener la velocidad (q es el parametro q se le pasa a la pc para q mueva el cursor), y ahi puede existir algun valor residual por el error en la integracion o ruido, asiq hay q aplicar una funcion q detecte cuando el mouse dejo de moverse.
Y bueno, son tantas etapas por las q pasa la señal q termina bastante distorsionada.. por eso me gustaria q me den una manito con los filtros ya q mi fuerte no es el analisis de señales.
Aunq estoy empezando a dudar q el problema es la exactitud y precision del acelerometro :S
En fin, saludos!!!
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: BrunoF en 22 de Mayo de 2009, 18:00:40
[...]Ademas hay q integrar la aceleracion para obtener la velocidad (q es el parametro q se le pasa a la pc para q mueva el cursor), y ahi puede existir algun valor residual por el error en la integracion o ruido, asiq hay q aplicar una funcion q detecte cuando el mouse dejo de moverse.
[...]

Hola gera!

¿Que tipo de acelerómetro es?¿Envía un voltaje proporcional a la aceleración en cada eje?

El problema de integrar es el que ya se conoce y es que hay una valor que se desconoce. Al integrar la aceleración obtienes la velocidad, pero te falta saber un parametro constante(llamado generalmente V0 o Vi(Velocidad Inicial) en estos caso). Partiendo de la aceleración, es todo un tema detectar cuándo está realmente en reposo el dispositivo sin utilizar algún otro sensor de apoyo, porque tanto para un estado de reposo como de movimiento uniforme, el acelerómetro dará valores semejantes(la aceleración tiende a 0, por lo que Vel=ctte). Similar sucede al integrar nuevamente para averiguar la posición...

Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: jgpeiro06 en 22 de Mayo de 2009, 18:02:38
Yo también he trabajado con ese tipo de algoritmos y tras bastante tiempo de probar y probar código lo deje estar. Mi problema estaba en las integrales. Aún haciendo la calibración del acelerometro, se introducía un pequeño valor constante que se hiba haciendo más y más grande en las integrales conforme pasaba el tiempo.
Si la entrada es f(t), y c una pequeña constante...
integral( f(t) + c ,t ) = integral(f(t),t) + c*t
La señal de salida es la integral deseada más un valor que crece con el tiempo...
Ahora la segunda integral (que según comentas no es necesaria para el mouse)
integral( integral(f(t),t) + c*t, t ) = integral(integral(f(t),t),t) + 1/2 * c * t^2 !!!
Para un muestreo de 1Khz, pasados unas fracciones de segundo el error supera varias veces la señal que queremos obtener...

Para corregir la señal también utilicé filtros digitales, pero no conseguí nada aceptable. Poco antes de abandonar el asunto estuve indagando sobre los filtros de Kalman, pero creo que necesitas más sensores aparte del acelerometro para poder utilizarlos.

Aqui los dos links por si alguien quiere obtener mas informacion sobre el tema, incluyendo un video del algoritmo funcionando:
http://www.freescale.com/files/sensors/doc/app_note/AN3397.pdf
http://www-users.cs.york.ac.uk/~fisher/mkfilter/trad.html
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: jgpeiro06 en 22 de Mayo de 2009, 18:05:53
Citar
El codigo es un poquito largo, pero trate de modularizar lo mas q pude para q lo puedan entender.
¿Que has modularizado?¿Si el código esta igual (o casi) que en la nota de aplicación de freescale?
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: BrunoF en 22 de Mayo de 2009, 18:14:54
gera: A(t), V(t) y P(t) son funciones en el tiempo.

Tus cálculos de integración no son correctos a mi parecer por lo que miré en los algoritmos:

por ejemplo:

V(t+\Delta t)=V(t)+(A(t+\Delta t)-A(t))*\Delta t)
O lo que es lo mísmo:
V(t+\Delta t)=V(t)+(\Delta A*\Delta t)

En tu algoritmo esto sería:

Código: C
  1. velocityx[1]= velocityx[0]+ (accelerationx[1] -accelerationx[0])*tiempo;
  2. velocityy[1]= velocityy[0]+ (accelerationy[1] -accelerationy[0])*tiempo;

Por lo que es estrictamente necesario que cuentes el tiempo transcurrido entre cada medición y lo sometas a la fórmula.

Un saludo
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: jgpeiro06 en 22 de Mayo de 2009, 18:30:53
Citar
Tus cálculos de integración no son correctos a mi parecer por lo que miré en los algoritmos:
BrunoF, los calculos que comenta gera estan basados en la nota de aplicacion AN3397 de Freescale, y son correctos. Mira el documento en la pagina 2, la formula "Formula 1", ademas esa parte del código la puedes ver igual en la pagina 11.

Si no recuerdo mal hay 3 algoritmos similares de integración numérica forward, backward y centered, todos validos.

Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: gera en 22 de Mayo de 2009, 18:38:19
Citar
¿Que tipo de acelerómetro es?¿Envía un voltaje proporcional a la aceleración en cada eje?
Hola Bruno! El acelerometro es el MMA7260QT de freescale. Como vos decis, da una tension proporcional a la aceleracion en sus patas (es tri-axial).

Citar
El problema de integrar es el que ya se conoce y es que hay una valor que se desconoce. Al integrar la aceleración obtienes la velocidad, pero te falta saber un parametro constante(llamado generalmente V0 o Vi(Velocidad Inicial) en estos caso). Partiendo de la aceleración, es todo un tema detectar cuándo está realmente en reposo el dispositivo sin utilizar algún otro sensor de apoyo, porque tanto para un estado de reposo como de movimiento uniforme, el acelerómetro dará valores semejantes(la aceleración tiende a 0, por lo que Vel=ctte). Similar sucede al integrar nuevamente para averiguar la posición...
Es cierto, pero asumo q cuando se enchufa el mouse, este esta en posicion de reposo, por lo tanto Vi=0. Ademas para evitar ciertas derivas, hay una funcion q se fija si la aceleracion es nula en cierta cantidad de muestras, entonces asume q la velocidad tambien lo es (suponiendo q cuando uno esta moviendo el mouse con la mano, es improbable q logre una aceleracion constante igual a cero).

Citar
gera: A(t), V(t) y P(t) son funciones en el tiempo.
Tus cálculos de integración no son correctos a mi parecer por lo que miré en los algoritmos:
Lo que pasa es q uso el metodo del trapecio para integrar las funciones. Es bastante mas preciso q sumar los sucesivos valores.

¿Que has modularizado?¿Si el código esta igual (o casi) que en la nota de aplicación de freescale?
Jeje, si, mucho del codigo lo copie textual de la app note de freescale. Pero lo modifique bastante y agregue una q otra funcion (por el tema de usb y del filtrado).

Muchas gracias por sus comentarios!! Ya se me ocurrieron un par de ideas para mejorar mouse, pero me voy a poner de a poco porq es epoca de mesas (maldita facultad jeje).
Saludos!!!
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: migsantiago en 22 de Mayo de 2009, 20:20:14
Oye Gera, ¿de casualidad tu acelerómetro es como éste?

(http://img199.imageshack.us/img199/5430/dsc00165i.th.jpg) (http://img199.imageshack.us/img199/5430/dsc00165i.jpg)

Es que lo conseguí esta semana y ya le tengo un proyecto planeado. Y pues aprovecharía que ya llevas camino recorrido.  :mrgreen: Me costó como 23USD, casi casi regalado.
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: BrunoF en 22 de Mayo de 2009, 20:26:12
 :( Perdón entonces, no me di cuenta que utilizabas el método de los trapecios para aproximar la integral.:8} :8} :8} :8} :8}

Un saludo.
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: gera en 22 de Mayo de 2009, 22:13:26
Oye Gera, ¿de casualidad tu acelerómetro es como éste?

(http://img199.imageshack.us/img199/5430/dsc00165i.th.jpg) (http://img199.imageshack.us/img199/5430/dsc00165i.jpg)

Es que lo conseguí esta semana y ya le tengo un proyecto planeado. Y pues aprovecharía que ya llevas camino recorrido.  :mrgreen: Me costó como 23USD, casi casi regalado.

Santi, el mismo! solo q a mi me salio gratis :P (freescale da muestras gratis jeje). Eso si, no vino con la plaquita, y soldarlo fue un parto. Me encantaria q me acompañes con el proyecto, a ver si entre todos lo hacemos andar bien jeje.
Cualquier duda con gusto te la contesto.
Saludos!!!
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: migsantiago en 23 de Mayo de 2009, 09:57:29
Sí, pero lo usaré hasta empezar las vacaciones porque ya se me juntaron los proyectos de fin de semestre y reportes de avances de tesis y pues tú entiendes  :mrgreen:

Yo te aviso cuando lo estrene para trabajar contigo de forma remota.
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: NANO1985 en 23 de Mayo de 2009, 10:04:04
muy buen proyecto gera.... interesante... a ver si suben algun video sobre su funcionamiento...
Saludos 8)
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: gera en 23 de Mayo de 2009, 12:42:31
Bueno, a pedido de NANO, aqui un video


Use el cubo de compiz para q se vea mejor, ya q el puntero no se distinguia bien, de paso aprovecho a demostrar q funciona bajo linux y por q no caretear un poquito el cubo jaja.
Saludos!!
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: migsantiago en 23 de Mayo de 2009, 12:48:45
Qué buen video, ya quiero que sean vacaciones.  :mrgreen:

Ojalá y lo depures al 100% Gera.
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: Cryn en 23 de Mayo de 2009, 13:31:01
buen trabajo, buen inicio gera!

queremos ver más!!! :mrgreen:
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: cerebro en 23 de Mayo de 2009, 13:35:46
 :mrgreen: Muy bueno todo y en especial el cubo! quiero linux  :D
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: NANO1985 en 23 de Mayo de 2009, 16:07:13
muuuy buena gracias gera por la molestia de grabar el video.
Saludos  8)
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: gera en 24 de Mayo de 2009, 18:37:25
Hola amigos!!!
He estado haciendo algunas modificaciones y estoy obteniendo mejores resultados. Para empezar, puse unos capacitores mas grandes en el filtro RC a la entrada del ADC. Esto mejoro bastante la señal de entrada, al punto q pude achicar la ventana de 10 a 3 unidades :-/ Tambien modifique un poco los parametros del filtro digital.
El problema ahora, es q no estoy midiendo el mismo valor de aceleracion en un sentido q en el otro. Esto me tiene mal, ya q no se como voy a solucionarlo... Les muestro una grafica (velocidad en funcion del tiempo) para q vean a lo q me refiero:
(http://img32.imageshack.us/img32/2487/graficah.th.jpg) (http://img32.imageshack.us/my.php?image=graficah.jpg)
Como ven, cuando llevo el mouse de izquierda a derecha, la velocidad crece, luego decrece, pero no vuelve a 0, sino q queda una velocidad remanente. Luego vuelve a cero porq actua la rutina de deteccion de velocidad 0.
Y cuando llevo el mouse en sentido contrario, la velocidad pasa por cero y sigue decreciendo.. como que hay mas sensibilidad a la aceleracion en un sentido q en el otro.
Puede ser problema de calibracion, pero no creo... si no la aceleracion no daria 0 cuando esta quieto. Y de ahi saltamos a otro asunto... no se como hacer para tomar mas muestras a la hora de la calibracion para q no desborde la variable donde almaceno las muestras.

Bueno, espero sus consejos. Saludos!!!
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: migsantiago en 24 de Mayo de 2009, 18:57:36
Una preguntonta...  :D ¿el filtro digital lo aplicas a la velocidad o a la aceleración?
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: gera en 24 de Mayo de 2009, 20:35:59
Lo aplico a la aceleracion. En teoria si obtengo una buena medicion de la aceleracion, voy a tener una buena de velocidad tambien. Obviamente q siempre va a existir un error q se va a propagar.
saludos!
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: gera en 25 de Mayo de 2009, 23:19:41
Hola!!! Sigo sin poder resolver ese tema de la velocidad :( .. pero un amigo propuso hacer q responda a la inclinacion, con la idea de hacer un guante y poder mover el mouse sin necesidad de sacar la mano del teclado.
Asiq elimine todo el tema de la integracion y ahora el movimiento del puntero es proporcional a la inclinacion del mouse. Estuve jugando un rato con esto y al principio cuesta dominarlo, pero con un poco de practica se vuelve facil. Ademas le agregue el click izquierdo  :-/
Funciona a la perfeccion... sin embargo el reto es hacerlo como un mouse comun, q responda al desplazamiento, y sigo rabiando con los filtros jeje
saludos!!!

Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: Nocturno en 26 de Mayo de 2009, 01:53:53
¡Qué chulo!, a ver si lo consigues porque la cosa promete bastante. Muy bonito.
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: Suky en 26 de Mayo de 2009, 10:59:31
(http://img222.imageshack.us/img222/3871/yb641.gif) (http://img222.imageshack.us/img222/3871/yb641.gif) Excelente trabajo!
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: NANO1985 en 26 de Mayo de 2009, 12:00:38
muuuy bueno éste unltimo video gera!!! te pasaste!
Saludos  8)
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: gera en 26 de Mayo de 2009, 12:35:58
Gracias muchachos! me siento halagado, sobretodo viendo de quienes vienen los comentarios :mrgreen:
Me voy a poner firme con esto, a ver si puedo optimizar lo q ya tengo para empezar a depurarlo bien.
Saludos!!!
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: Cryn en 26 de Mayo de 2009, 13:22:01
buenísimo gera, estoy impaciente de qeu logres controlar eso de los filtros, pero hasata ahroa va muy bien, lindo trabajo!!

cuando termines el filtro me gustaría verlo para entenderlo, si se puede claro.

saludos, felicidades por el excelente trabajo que tienes hasta ahora
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: migsantiago en 26 de Mayo de 2009, 13:37:48
Yo imagino que el problema de la velocidad no era la velocidad en sí, sino que había que volver a integrar la velocidad para llegar a la posición. Una vez teniendo la posición se debe calcular el delta de la posición para saber cuánto se movió el acelerómetro, que es básicamente como trabajan los mouse, enviando deltas en x y y.

Pero también había pensado en un control directo con la aceleración, lo cual es mucho más fácil y rápido de implementar y que Gera ya aplicó.

No he podido ver los videos de youtube (firewall escolar) pero qué bueno que llegaste a un mejor desempeño del sistema Gera.
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: gera en 26 de Mayo de 2009, 14:24:59
buenísimo gera, estoy impaciente de qeu logres controlar eso de los filtros, pero hasata ahroa va muy bien, lindo trabajo!!

cuando termines el filtro me gustaría verlo para entenderlo, si se puede claro.

saludos, felicidades por el excelente trabajo que tienes hasta ahora

Gracias Cryn!! Por supuesto q cuando lo termine voy a poner a su disposición tanto el código como los esquematicos :wink:
Por el momento estoy aplicando 4 filtros distintos: un pasa bajos analogico, un promedio, un pasa bajos digital y una ventana. La solucion a todos mis problemas esta en la correcta calibracion de los parametros de estos jeje.

Yo imagino que el problema de la velocidad no era la velocidad en sí, sino que había que volver a integrar la velocidad para llegar a la posición. Una vez teniendo la posición se debe calcular el delta de la posición para saber cuánto se movió el acelerómetro, que es básicamente como trabajan los mouse, enviando deltas en x y y.

Pero también había pensado en un control directo con la aceleración, lo cual es mucho más fácil y rápido de implementar y que Gera ya aplicó.

No he podido ver los videos de youtube (firewall escolar) pero qué bueno que llegaste a un mejor desempeño del sistema Gera.

Santi, la posición no necesito saberla, ya q a la PC se le pasa un parametro proporcional a la velocidad q quiero q se mueva el cursor. En realidad si, le mando un delta X, pero como se lo mando cada T segundos, a la larga es una medida de la velocidad.

Ya q estoy les planteo una duda a ver si me pueden dar una mano. Quisiera tomar muchas mas muestras a la hora de la calibracion, pero si tomo demasiadas, la variable donde las almaceno desborda. Y si voy dividiendo las muestras a medida q las tomo, el valor de cada una es despreciable, y se acumula un gran error. Se les ocurre como puedo hacer para solucionar esto?
Gracias!!
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: jgpeiro06 en 26 de Mayo de 2009, 17:05:18
Citar
Quisiera tomar muchas mas muestras a la hora de la calibracion
El algoritmo ya toma 128 muestras, que ya son suficientes para el promedio. Para obtener más muestras sin "desbordar" lo más facil es que declares las variables sstatex y sstatey como unsigned long long. También puedes probar a declarar todas las variables de la función calibrate como float y hacer la conversión a entero después de la división.
 
Otra manera de eliminar la componente continua es añadir un filtro paso alto, de esta manera "siempre este quieto estará calibrado" aunque en distinta posición.
Yo más o menos probé las siguientes etapas:

MMA7260---> 1pole Hardware LPF---> 10bit ADC ---> IIR HPF ---> Integrate ---> IIR HPF ---> integral ---> IIR HPF
También probé con filtros FIR, de todas las "formas" y "colores" que pude, pero no conseguí que la señal de salida correspondiese a la posición del aparato...

Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: gera en 02 de Junio de 2009, 12:34:36
Gracias por los consejos jgpeiro!!
Lo q hice fue aplicar un pasabandas q elimine la continua y el ruido de alta frecuencia, pero se vuelve muy inestable. Y con el tema de la calibracion sinceramente no se q pasa. Por mas muestras q tome, siempre me da un valor un poco menor q el real.
Esto ya me esta dando dolores de cabeza.. pero vamos a seguir probando a ver si tengo exito.
saludos!!
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: jgpeiro06 en 03 de Junio de 2009, 07:25:06
Citar
Por mas muestras q tome, siempre me da un valor un poco menor q el real.
Si tu código es como este...:
Código: C
  1. void Calibrate(void)
  2. {
  3.     unsigned int count1;
  4.     count1 = 0;
  5.    
  6.     do{  
  7.         ADC_GetAllAxis();
  8.         sstatex = sstatex + Sample_X;      // Accumulate Samples
  9.         sstatey = sstatey + Sample_Y;
  10.         count1++;
  11.     }while(count1!=0x0400);                // 1024 times
  12.    
  13.     sstatex=sstatex>>10;                   // division between 1024
  14.     sstatey=sstatey>>10;
  15. }

Lo único que tienes que tener en cuenta es que sstatex y sstatey no tienen que desbordar, para evitar esto puedes cambiar su tipo. También ten en cuenta que si tomas N muestras luego tienes que dividir entre N. No tiene mas misterio.
No se si estos consejos son lo que buscas o no, ya me dirás...
Cuelga el código de la función calibrate si has modificado algo.
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: gera en 03 de Junio de 2009, 12:58:04
Si, tuve en cuenta todo eso. Adjunto el codigo q estoy usando para ver la señal en matlab. Todo lo importante esta en funciones.c
Fijate q en donde calculo la aceleracion absoluta tengo q sumar 4 para q quede bien calibrado, ademas divido por dos por un tema de sensibilidad:
Código: C
  1. accelerationx[1] = (accelerationx[1]-(sstatex+4))/2;
  2.  
  3.    accelerationy[1] = (accelerationx[1]-(sstatey+4))/2;

Muchas gracias!!
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: jgpeiro06 en 03 de Junio de 2009, 13:59:19
Bueno, no veo nada que me haga pensar que estas haciendo mal la calibración. Prueba a depurar el programa, sin mover el acelerometro observa los valores que lee el ADC y el valor final de sstatex, seguro que el calibrado es correcto...

Luego alguna cosa que no se si habrás visto:
Citar
   accelerationx[1] = (accelerationx[1]-(sstatex+4))/2;
   accelerationy[1] = (accelerationX[1]-(sstatey+4))/2; accelerationX!!!
Desde luego si solo tenias errores en el eje Y, esa puede ser la causa.
Creo también que puedes eliminar la división por dos mejor, ¿no?,Si lo que tienes es ruido, puedes añadir un filtro o ampliar el rango de la ventana de discriminación.

Solo aplicas el filtro IIR "void filter()" al canal X, ¿Qué pasa con el canal Y?
No se me ocurre nada más que pueda provocar un mal funcionamiento...
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: gera en 03 de Junio de 2009, 15:12:57
Perdon, lo del canal Y se me escapo. Por el momento solo estoy trabajando sobre el X, cuando lo haga funcionar bien, aplico lo mismo al Y. La division por dos solo la aplique para q la velocidad no desborde, pero si la elimino igual obtengo valores desplazados con respecto al de la calibracion.
Creo q el problema esta en q los valores de la calibracion no los paso por el LPF.
La verdad q esto de la calibracion me tiene muy mal. Voy a hacer una cuantas pruebas mas, y si no lo puedo arreglar, voy a seguir peleando un rato con los filtros asi me libero de la calibracion.
Muchas gracias por tu ayuda jgpeiro!!
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: jvl en 06 de Junio de 2009, 06:58:18
Hola a todos.

Menos mal que encontre este hilo. Yo tambien estoy trabajando con un acelerometro, en concreto con el ADXL330. Estoy medio loco ya, porque no se como utilizar la variacion de voltaje que me ofrecen sus tres ejes. El proyecto que quiero realizar es un detector de caidas para personas. De momento deciros que no tengo ningun filtro puesto, ya que no se mucho sobre ese tema, asi que si me pudieseis ayudar por ahi. Os cuento como creo que puedo detectar la caida a ver que os parece. Creo que si detecto un cambio en la posicion de pie a tumbado que ocurre justo despues de un gran pico de aceleracion negativa, debida al impacto, podria saber que se a caido la persona. Esta teoria no es mia, es de Williams y Doughty y es la que creo que debo de utilizar, pero no se como.

Se que no es el mismo proyecto que el del raton, pero he pensado que me podriais ayudar un poco ya que se utiliza un acelerometro igual que el raton.

Nada mas, solo daros las gracias de ante mano.
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: miguel87 en 08 de Junio de 2009, 21:57:23
Hola me eh registrado en el foro  :P, siento como que los conozco ya que los vengo siguiendo hace rato a todos sus comentarios e ideas , que desde ya son buenisimass,y me dio muchas ganas de participar.
Por otra parte ya me encargue unos modelitos de acelerometros en freescale ,por suerte sin costo, espero que lleguen pronto asi me uno con algun proyectoo!!
saludos a todo el foro
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: ema en 12 de Junio de 2009, 15:11:29
Les tengo la solución para el ruido.... Freescale saco un sensor muy similar al MMA7260 pero con salida digital... chau ruido :D :D

El modelo es MMA7660FC

Saludos
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: miguel87 en 17 de Junio de 2009, 23:48:48
Me llegaron las muestras de freescale :-/ :-/ me llegaron 2 MMA7260qt  y 5 MMA7660FC , el problema es q estos ultimos que como bien dice ema son digitales,son muy pequeños,son la cuarta parte q los MMA7260qt asi que imaginense soldar eso, alguna idea de como soladarlos?  :(
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: gera en 18 de Junio de 2009, 00:18:01
La cuarta parte!?? Q locura! de por si los MMA7260 son diminutos. Mucha suerte con el soldado!!! Si lo logras decinos como lo hiciste jeje.
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: miguel87 en 18 de Junio de 2009, 04:12:38
Gracias gera por la suerte  :) , ya tengo el diseño del impreso hecho en el proteus vamos a ver que pasa  :? , por otra parte este modelito es muy bueno apesar de su tamaño,echenle un vistazo al datasheet realmente esta bueno, http://www.freescale.com/files/sensors/doc/data_sheet/MMA7660FC.pdf?fpsp=1
saludos!!
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: gera en 18 de Junio de 2009, 12:52:26
Genial!!! Yo creo q me voy a ir pidiendo unas muestras, creo q va a ser de mucha ayuda en mi batalla contra el ruido jeje.
Saludos!!
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: miguel87 en 18 de Junio de 2009, 14:28:00
este modelito te viene anillo al dedo!,si freescale no te manda nuevamente avisame yo te puedo mandar tengo 5  :mrgreen:,  saludos!!
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: gera en 18 de Junio de 2009, 15:12:34
este modelito te viene anillo al dedo!,si freescale no te manda nuevamente avisame yo te puedo mandar tengo 5  :mrgreen:,  saludos!!

Muchas gracias Miguel!!! No creo q haya problema, freescale se porta bien conmigo jaja. Lo q si te voy a pedir, si no te molesta, es el impreso para montar el integrado.
Gracias!!
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: jgpeiro06 en 18 de Junio de 2009, 15:19:04
Ese acelerometro esta bien, ya que tiene incorporadas varias funciones que con los normales hay que realizar por software, como la detección de la orientación o algunas "gestures" como el scroll. Pero no se si 6 bits de resolución en un rango de +-2G son suficientes para utilizarlo como ratón...
Lo que no me convence mucho es el video de freescale sobre el acelerometro:
El problema para mi de la detección de "gestures" por software era que tenias un porcentaje alto de "confundir" al software y que interpretase movimientos erróneos. Se supone que si lo han implementado por hardware, debe de ser un algoritmo con un alto porcentaje de aciertos, pero en el vídeo no se ve un funcionamiento que no es lo que me esperaba...
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: gera en 18 de Junio de 2009, 15:47:44
Esta muy bueno, pero lo veo mas util para otras aplicaciones q para mi mouse.
A todo esto, ya he intentado todo lo q estaba a mi alcance para hacer funcionar esto, sin los resultados q esperaba.Sin embargo he logrado hacer un mouse q funciona muy bien midiendo inclinacion. Por lo tanto creo q voy a dar por concluido mi proyecto.
Cuando tenga un ratito dejo a su disposicion el codigo fuente y todo lo necesario para q se armen el suyo :wink:
Muchas gracias por todo su apoyo!!!
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: miguel87 en 20 de Junio de 2009, 02:00:50
si gera te lo puedo pasar porsupuesto , que proteus tenes? yo lo hago con el 6,9.saludos!!!!
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: gera en 20 de Junio de 2009, 02:46:32
si gera te lo puedo pasar porsupuesto , que proteus tenes? yo lo hago con el 6,9.saludos!!!!

No uso proteus :oops:... podrias subir un pdf con el impreso?
saludos!
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: migsantiago en 08 de Julio de 2009, 15:25:18
Hola Gera

Apenas hoy estoy leyendo y viendo datos sobre el acelerómetro. Una pregunta rápida... ¿con cuántos V alimentaste tu acel? Según veo su alimentación llega hasta 3.6V.

Pienso ponerle al mío un simple diodo zener de 3.3V y para las terminales GS voy a usar unas pullups a 3.3V. Para evitar que se dañen esas entradas voy a cambiar sus estados con 0V y Z desde el micro. Si pongo los 5V del micro no se vayan a dañar.

¿Que opción de GS usaste?
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: gera en 08 de Julio de 2009, 17:40:17
Buenas Santi!!
El acelerometro lo alimento con 3.3V q obtengo de un regulador lm317. Usando resistencias de 220 y 330, y jugando un poco con el error obtenes valores cercanos a esa tension.
Los pines GS1 y GS2 estan ambos a masa para tener la mayor sensibilidad (creo q es 1.5g).
De curioso nomas, puedo preguntar q tenes entre manos?
Saludos!!
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: migsantiago en 08 de Julio de 2009, 17:48:18
Ah OK Gera, gracias. Ya está funcionando con 3.4V y en los 3 ejes normalmente con la misma resolución que usas tú.

(http://img31.imageshack.us/img31/9532/axelfreescale.jpg)

Veo que hay ruido, pero no me afecta en este momento.

Por ahora pienso solo probarlo y calcular las g y el ángulo de dónde está colocado como el que traen los iPod o los iPhone para acomodar cuadros.

Después quiero adquirir vibraciones de forma inalámbrica con ayuda de algún módulo Bluetooth, pero no sé si me vaya a dar tiempo... tendré más pendientes en unos días y por ahora estoy jugando nomás  :D
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: gera en 08 de Julio de 2009, 18:08:06
No hay mejor forma de aprender q jugando jeje. El tema del ruido se arregla facil con unos filtros. Un pequeño RC en la entrada del pic, y si es necesario uno digital.
Detectar la orientacion es facil, solo hay q comparar unos valores. Y para detectar vibracion, podrias derivar la señal y ver q no exceda cierto valor. O directamente cuidar q el valor de aceleracion no pase de cierto nivel.
Saludos y suerte con tu proyecto!! cualquier duda chifla nomas!
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: migsantiago en 08 de Julio de 2009, 18:32:52
Gracias Gera. Los ángulos y las g ya quedaron listas. Por ahora creo que quedo satisfecho con los resultados. Los filtros que comentas vienen recomendados en la hoja de características pero son de fc = 1600Hz aprox y pues ahorita no tengo los capacitores  :D

Voy a investigar sobre el módulo bluetooth para seguir con esto porque con cables no puedo simular muchos movimientos.

(http://img238.imageshack.us/img238/6715/acel2.jpg)

Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: gera en 08 de Julio de 2009, 19:58:49
Yo hace poco estuve jugando con un modulito q anda de 10. Es este:
http://www.sparkfun.com/commerce/product_info.php?products_id=8550
La verdad q con el envio me salio un poco carito, pero esta re piola.
Saludos!
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: migsantiago en 08 de Julio de 2009, 20:54:48
Uff está práctico el módulo pero $60USD más el envío me es mucho.

Lo tendré en cuenta y voy a buscar otros.  :mrgreen:
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: gera en 08 de Julio de 2009, 21:39:00
La verdad q si. Si encontras algo mas economico hacemelo saber porfa.
Suerte!
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: migsantiago en 08 de Julio de 2009, 21:54:47
Estoy viendo la opción de Zigbee...

XB24-AWI-001 $27USD
OEM,XBEE SER1,1MW,WIRE ANT,250 KBPS
http://www.agspecinfo.com/pdfs/X/XB24-AWI.PDF

Pero no sé si con solo comprar 2 módulos sea suficiente para comunicarse. Le pedí su opinión a Manolo, a ver qué me dice.
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: gera en 09 de Julio de 2009, 00:12:40
El tema con zigbee es q vas a tener q comprar un par de modulos minimo. En cambio bluetooth tenes en el celular, en la PC, etc..
Bueno, fijate como haces, espero novedades :D
saludos!!!
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: germanv8 en 09 de Julio de 2009, 12:11:50
El tema con zigbee es q vas a tener q comprar un par de modulos minimo. En cambio bluetooth tenes en el celular, en la PC, etc..
Bueno, fijate como haces, espero novedades :D
saludos!!!

Gera,

Tambien estoy trabajando en un proyecto y voy a usar el mismo acelerometro que me lo pasó un profesor de la universidad. Mi problema es soldarlo a una PCB. Como hiciste? Yo estoy usando el proteus pero no encuentro el foodprint.
Saludos.

Germán.
Río Negro.
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: gera en 09 de Julio de 2009, 13:19:48
Hola german.
En este hilo se trato todo lo relacionado con este aceoerometro.
http://www.todopic.com.ar/foros/index.php?topic=19613.0
La proxima usa el buscador del foro por favor.
saludos!!
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: jaimearar en 06 de Noviembre de 2009, 00:35:03
hola, de partida me encanto el proyecto :), lo considero muy buena idea.

pero yo quisiera saber ¿como obtienen las muestras gratis de FREESCALE?

yo quise hacer un pedido de "samples" y me cobran U$22.00 por gastos operacionales o algo así

¿el perfil que uno crea debe tener algun requisito en especial?

gracias.
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: gera en 06 de Noviembre de 2009, 03:43:20
Lamentablemente ya no dan muestras gratis de este acelerometro. Ademas ya es modelo obsoleto y no lo fabrican mas :(
Si queres muestras gratis necesitas un mail corporativo. Proba usar el de tu empresa/universidad o el q consigas.
saludos!!
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: jaimearar en 08 de Noviembre de 2009, 03:39:32
Gracias por tu respuesta gera!!!!
Les cuento que use el mail de la universidad y ningún problema.....de hecho el pedido figura como pendiente, pero al meno ya no presenta ningún cobro!!!!

Les cuento que soy de Chile, para que quede de precedente a quien quiera pedir "samples" que al parecer si envían hacia acá! cuando lleguen les cuento... ;-)

a por cierto, los vídeos están muy buenos!!!!
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: dacosta en 16 de Noviembre de 2009, 21:16:50
hola gera....


mcuas gacias pro ayduarme, me gsutaria saber si tienes el ultimo coigo q has implementado ya con el pulsador que te hace de click derecho????, es q en el codigo que esta al principio no se encuentra implmeentado....muchas gracias gera...
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: gera en 16 de Noviembre de 2009, 22:11:35
Fijate en esta parte del codigo:
Código: C
  1. void data_transfer(void)
  2.  
  3. {
  4.  
  5.    usb_task();
  6.  
  7.    if(usb_enumerated())
  8.  
  9.    {
  10.  
  11.       LED_ON(LEDGREEN);
  12.  
  13.       LED_OFF(LEDRED);
  14.  
  15.      
  16.  
  17.       out_data[0] = 0;
  18.  
  19.       if(input(PIN_B2))
  20.  
  21.       {
  22.  
  23.          out_data[0] = 1; //button state goes here
  24.  
  25.          delay_us(100);
  26.  
  27.       }
  28.  
  29.      
  30.  
  31.       out_data[1] = (int8) (-accelerationx[1]/3);
  32.  
  33.       out_data[2] = (int8) (accelerationy[1]/3);
  34.  
  35.       out_data[3] = 0; //wheel state goes here      
  36.  
  37.       usb_put_packet(1,out_data,4,USB_DTS_TOGGLE);
  38.  
  39.    }
  40.  
  41.    else
  42.  
  43.    {
  44.  
  45.       LED_OFF(LEDGREEN);
  46.  
  47.       LED_ON(LEDRED);
  48.  
  49.    }
  50.  
  51. }

En el arreglo out_data[] va toda la informacion sobre el mouse... out_data[0] indica el estado de los botones del mouse. Las posiciones 1 y 2 del arreglo indican la velocidad de desplazamiento del mouse, y out_data[3] es la ruedita del scroll.
suerte!
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: dacosta en 17 de Noviembre de 2009, 20:31:27
Fijate en esta parte del codigo:
Código: C
  1. void data_transfer(void)
  2.  
  3. {
  4.  
  5.    usb_task();
  6.  
  7.    if(usb_enumerated())
  8.  
  9.    {
  10.  
  11.       LED_ON(LEDGREEN);
  12.  
  13.       LED_OFF(LEDRED);
  14.  
  15.      
  16.  
  17.       out_data[0] = 0;
  18.  
  19.       if(input(PIN_B2))
  20.  
  21.       {
  22.  
  23.          out_data[0] = 1; //button state goes here
  24.  
  25.          delay_us(100);
  26.  
  27.       }
  28.  
  29.      
  30.  
  31.       out_data[1] = (int8) (-accelerationx[1]/3);
  32.  
  33.       out_data[2] = (int8) (accelerationy[1]/3);
  34.  
  35.       out_data[3] = 0; //wheel state goes here      
  36.  
  37.       usb_put_packet(1,out_data,4,USB_DTS_TOGGLE);
  38.  
  39.    }
  40.  
  41.    else
  42.  
  43.    {
  44.  
  45.       LED_OFF(LEDGREEN);
  46.  
  47.       LED_ON(LEDRED);
  48.  
  49.    }
  50.  
  51. }

En el arreglo out_data[] va toda la informacion sobre el mouse... out_data[0] indica el estado de los botones del mouse. Las posiciones 1 y 2 del arreglo indican la velocidad de desplazamiento del mouse, y out_data[3] es la ruedita del scroll.
suerte!



muchas gracia sgera pro tu respues...pero veo q tu odigo ya tiene cambios, me podrias colaborar con tu nuevo codigo, el q tiene sposteado no se qpasa pero no me etsa repsondiendo, no me mueve ell puntero, es algo extraño lo esta detectando y todo muy bien pero no lo mueve, no c q pasando, te agrederia si me podrias ayduas, tengo q presentar un proycto asi para el dia de mañana...muchas gracias
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: javierg86 en 18 de Febrero de 2010, 02:06:17
Hola buenas noches,

Quisiera saber si me pudieras mandar la ultima version de tu codigo y de tu diagrama esquematico sobre como conectar el pic.
Gracias de antemano y felicidades por hacerlo jalar con el acelerometro...

Javier Gonzalez
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: gera en 18 de Febrero de 2010, 11:38:28
Hola! no se a q version te referis. En la primer pagina del hilo esta el codigo definitivo q use para el mouse.
saludos!!
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: javierg86 en 18 de Febrero de 2010, 15:15:53
Hola,

Gracias por la pronta respuesta! Estoy usando el mikroC PRO para programar mi pic 18f4550. Nomas que no estoy mu seguro si ya contiene por default los siguientes archivos que incluyes en tu codigo o si sean exclusivos de el CSS C:

#include <18F4550.h>
#include <pic18_usb.h>   //Microchip PIC18Fxx5x hardware layer for usb.c
#include <usb_desc_mouse.h>    //USB Configuration and Device descriptors for this UBS device
#include <usb.c>        //handles usb setup tokens and get descriptor reports

Si es asi, no se si me podrias facilitar estos archivos, gracias de antemano.

Javier Gonzalez
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: gera en 18 de Febrero de 2010, 17:39:31
Con mikroC directamente no te va a funcionar. Por mas q te pase los archivos, es un compilador muy diferente al CCS. Vas a tener q buscar un stack usb q funcione con ese compilador y tu codigo probablemente no se parezca en nada al mio.
Solo usando CCS te va a funcionar mi codigo.
saludos!
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: javierg86 en 18 de Febrero de 2010, 18:35:35
Te agradezco mucho tu ayuda, intentare conseguirme el CCS, y sino ver como le hago con el mikro C directamente.
Gracias

Javier Gonzalez
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: semuseyin en 09 de Abril de 2010, 02:59:18
Hola, disculpen, se que no viene al caso pero es la primera vez que voy a intentar usar el MMA7260QT, necesito hacer que esta acelerometro me cierre o permita el paso de corriente hacia otro circuito al detectar algun movimiento, alguien sabe si se puede usar para eso y como podria hacerlo, estoy diseñando algo y tiene que ser lo mas sensible posible, por eso pense en este tipo de sensores. Agradecere cualquier sugerencia.
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: sugardy en 28 de Noviembre de 2010, 21:30:36
Lamentablemente ya no dan muestras gratis de este acelerometro. Ademas ya es modelo obsoleto y no lo fabrican mas :(
Si queres muestras gratis necesitas un mail corporativo. Proba usar el de tu empresa/universidad o el q consigas.
saludos!!

Hola,

Quisiera saber si alguien probo algun modulo de estos? (FCF-7341 )

Me gustaria saber que resultado les dio.

Saludos
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: dalvk en 07 de Noviembre de 2011, 02:08:32
hola quisiera saber si me pueden enviar informacion de este pryecto a mi correo david.keusen@gmail.com lo   que son diagranas esquematicos de todas las conexiones del pic con el acelerometro los pulsadores.... el codigo fuente del pic..... y el codigo o programa que se requiere en la computadora.

de antemano les agradezco muchooo


saludso
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: gera en 08 de Noviembre de 2011, 00:25:53
hola quisiera saber si me pueden enviar informacion de este pryecto a mi correo david.keusen@gmail.com lo   que son diagranas esquematicos de todas las conexiones del pic con el acelerometro los pulsadores.... el codigo fuente del pic..... y el codigo o programa que se requiere en la computadora.

de antemano les agradezco muchooo


saludso

Compadre, ni te tomaste la molestia de leer el primer post no? ahi esta todo lo q pedis
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: dalvk en 08 de Noviembre de 2011, 22:29:41
hermano pero los valores de resistencias y capacitores no aparecen
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: Suky en 08 de Noviembre de 2011, 22:40:22
mmm... Y leíste el datasheet del MMA7260QT ? Ahí dan los valores para los filtros pasa-bajos. Leíste al Application Note de Freescale?
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: gera en 09 de Noviembre de 2011, 02:42:22
hermano pero los valores de resistencias y capacitores no aparecen

Las resistencias y capacitores que van en las salidas del acelerometro son de 1K y 100nF respectivamente. Como dice suky, va a serte de gran ayuda leer la hoja de datos del acelerometro.
Saludos!
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: danyferchu en 27 de Julio de 2012, 12:41:39
hola, muy bueno tu proyecto, yo estoy en busca de info para hacer un pendulo invertido controlado por pid, en cuanto lo termine lo subo asi me dicen si les gusto y si tienen sugerencias  :mrgreen:
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: gera en 27 de Julio de 2012, 14:17:47
En el foro hay un hilo sobre robots equilibristas, buscalo con el buscador ;)
Suerte!
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: Zarek en 10 de Octubre de 2012, 15:53:49
Estimados, me estoy basando en la misma libreria usb_desc_mouse.h de CCS para simular el mouse como hid, por lo que he entendido para asignar los click derecho e izquierdo el out_data[0] tiene que ser igual a 1 o a 2 para determinar el click presionado o me equivoco??
porque al hacer esto solo me reconoce uno de los click y no ambos.
cualquier orientacion seria de utilidad
gracias!
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: BrunoF en 10 de Octubre de 2012, 20:04:44
Zarek Podés recurrir a una OR.

out_data[0] = 0;
if (click_izq_presionado) out_data[0] |= 1;
if (click_der_presionado) out_data[0] |= 2;

De esta manera vas incluyendo valores sin eliminar a otros. En este caso out_data[0] terminaría con el valor 3, indicando que tanto el click izquierdo como derecho están presionados a la vez.

Saludos.
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: Zarek en 11 de Octubre de 2012, 10:16:27
Zarek Podés recurrir a una OR.

out_data[0] = 0;
if (click_izq_presionado) out_data[0] |= 1;
if (click_der_presionado) out_data[0] |= 2;

De esta manera vas incluyendo valores sin eliminar a otros. En este caso out_data[0] terminaría con el valor 3, indicando que tanto el click izquierdo como derecho están presionados a la vez.

Saludos.

Gracias por la respuesta bruno, probe con la OR mas una modificacion de la rutina que tenia para detectar el clik y funciono.
Saludos!!
Título: Re: mouse USB con pic18f4550 y acelerometro MMA7260QT
Publicado por: mazaharu en 08 de Julio de 2014, 12:02:57
hola german buenos dias. que pena molestarte seria posible que tu me ayudaras con este proyecto!! la verdad es que hasta ahora comence a estudiar programacion y pues realmente no se nada de esto y me llamo mucho la atencion del mouse con accelerometro seria posible que me enviaras el codigo fuente y planos de montaje para tratar de montarlo mi correo es ing.mekatronik@gmail.com