Estoy usando este Gyro LISY300AL: DataSheet
Pero no puedo obtener datos precisos ...
Aquí está mi cálculo:
sensitivity = 0.716454545;
gyroAdc = analogRead(0);
if(abs(gyroAdc - gyroZero) <= Threshold)
gyroAdc = gyroZero;
gyroRate = (gyroAdc-gyroZero)/sensitivity;
gyroRotation=gyroRotation+gyroRate*dtime1/1000;
gyroAngle = abs((gyroRotation - 360 * ceil(gyroRotation / 360))); // Round up between 0-360
dtime = millis() - stime; // millis() is the milliseconds since my controller started
stime = millis();
No obtengo un ángulo preciso, muevo mi objeto 90 grados pero el giroscopio se desplaza demasiado, por lo que muestra otra cosa ...
Tal vez estoy haciendo algo mal? ¿O simplemente debería agregar un acelerómetro para hacerlo más preciso?