Estimado Julian,

Entonces me parece que la cuestión es simplemente de trigonometría que
se puede hacer directamente en el código de Wiring/Arduino.

 --- Esto es un ejemplo típico de acondicionamiento señal.

Se pueden usar las formulas típicas de seno y coseno.

Si los valores del giroscopio están dentro de un círculo de 360 grados,
se puede asumir que cada punto es un grado por lo que tendríamos por lo
menos 360 puntos. Sin embargo trabajar con sexagesimales complica las
cosas porque son valores grandes por lo que es mejor trabajar con
radianes. Por lo tanto los valores podrían estar entre cero y 2pi o
mejor aún entre -pi y pi para usar valores positivos y negativos.

Para hallar ángulos con estos valores simplemente hay que usar las
funciones trigonométrica inversas   'arccos' o 'arcsin'. Como están
entre pi y -pi yo usaría 'arcsin'. Aunque para segurar de que los
valores sean mas precisos se puede usar:

  theta = arctan ( sin(theta) / cos(theta));

Creo que ambas funciones estan dentro de la IDE de Wiring/Arduino.

Si no hay que utilizar otras identidades trigonométricas. 

Sin embargo hay que tener en cuenta que los valores del gyroscopio estén
en decimales entre -3.1416 y 3.1416. Sin no es así hay que normalizar o
simplemente añadir un factor a los datos de entrada.

Por si acaso y para tener en cuenta en el triángulo rectángulo dentro
del círculo unitario:

 seno = longitudes de opuesto / hipotenusa
 coseno = longitudes adyacente / hipotenusa

Si conozco los puntos [x,y] en el círculo unitario (r=1):       
 rsin(theta) = y
 rcos(theta) = x 

Por lo que, sin(theta) = y/r = y ;
Lo que implica que theta = arcsin(y);

 
Ojalá que esto te ayude un poco.

  Saludes, 

  --* Juan

> 

> mm, la verdad yo no pretendo generar un giro, sino  medir el ángulo en
> que rota mi interfaz en los ejes X y Y y recibirlos como   inputs
> análogo en Arduino o Wiring. Mi giroscopio parece funcionar bien, ya
> que él me proporciona valores negativos o positivos según la
> dirección. Pero yo quisiera medir el ángulo de rotación. He encontrado
> algunas en la red cosas pero nada que me haya servido mucho. Estoy
> trabajando con un 


_______________________________________________
____ ____ ___  ____ _  _ ___
|__| |__/   /  |___  \/  |__]
|  | |  \  /__ |___ _/\_ |

Arzexp mailing list
[email protected]
http://lists.slow.tk/listinfo.cgi/arzexp-slow.tk

Responder a