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

Responder a