Hola Julian,
Simplemente hay que normalizar.
Se toman las cotas de los máximos, por ejemplo 1024.
1024 tengo que normalizarlo o sea, que divido a todos los valores que
manda el gyroscopio por 1024 y luego los multiplico por 2pi.
Y = X/1024*2pi
Para que la escala quede entre -pi y pi entonces tengo que restar pi.
Valor = Y - PI
Con esto voy a tener todos los ángulos en radianes.
Creo que senos y cosenos (al menos en C y en Lisp), funcionan con
radianes por lo que yo trataría de usarlos en este contexto.
Si es velocidad angular un giro es 2pi por lo que N giros serían 2NPI.
La frecuencia angular W = 2NPI/segundos
Sin embargo creo que el gyroscopio no es para esto sino simplemente para
darme valores de ángulos. Si son giros de pronto si usaría el encoder o
motores con PWM.
Suerte,
--* Juan
On Sat, 2010-11-20 at 16:38 -0800, julian jaramillo wrote:
> Gracias Juan por tu explicación
>
> Mas o menos recuerdo (del colegio) la ecuación de pasar la señal a un valor
> angular.
>
> El problema es que el valor que provee el giroscopio es el rango angular.
> Según
> entiendo esto es algo así como la velocidad de giro. Algo así como lo que
> nosotros músicos conocemos como rpm.
>
> El giroscopio que utilizo tiene una sensibilidad de 0.083 v/rad/t
>
> escribí un código y hasta funciona. A no ser por que genera "drifting", o sea
> que el valor inicial (ángulo 0) va amentando, no logro solucionar esto pero
> creo
> que voy a poder utilizarlo en mi aplicación.
>
> Envio el código por si alguien tiene alguna sugerencia.
>
> int x; // X
> #define GYRO_SENSITIVITY 0.083
> #define SAMPLE_RATE 100.0
> #define ZERO_OFFSET 275
>
> float currentAngle = 0.00;
>
> void setup() {
> Serial.begin(9600);
> }
> void loop() { //
> x = analogRead (0);
> float volts=((x-ZERO_OFFSET)*5.0)/1024.0;
> float turnRate= (volts / GYRO_SENSITIVITY);
> float turnAngle = turnRate / (float)SAMPLE_RATE;
> currentAngle -= turnAngle;
>
>
> Serial.print (currentAngle);
> }
>
>
> abrazos
>
> Julian Jaramillo
> http://julianjaramillo.net
>
>
>
>
> ________________________________
>
>
>
> _______________________________________________
> ____ ____ ___ ____ _ _ ___
> |__| |__/ / |___ \/ |__]
> | | | \ /__ |___ _/\_ |
>
> Arzexp mailing list
> [email protected]
> http://lists.slow.tk/listinfo.cgi/arzexp-slow.tk
_______________________________________________
____ ____ ___ ____ _ _ ___
|__| |__/ / |___ \/ |__]
| | | \ /__ |___ _/\_ |
Arzexp mailing list
[email protected]
http://lists.slow.tk/listinfo.cgi/arzexp-slow.tk