2013-02-18 3 views
0

Я только что сделал свой проект для получения датчика данных с гироскопом. Если я положил handphone на стол в горизонтальном направлении, результатом датчика гироскопа являются: Ролл (Х): 5.326322E-7 Шаг (Y): 5.326322E-7 рыскания (Z): 5.326322E-7Результат датчика гироскопа Android

Логически, результат должен быть 0, потому что ручное устройство лежит на столе. Значит, кто-нибудь может мне помочь? Я даю свой код ниже. Большое спасибо за ответ заранее :).

public void onSensorChanged(SensorEvent event) { 
if(event.sensor.getType()==Sensor.TYPE_GYROSCOPE) 
    { 


     float roolX = event.values[0]; 
     float pitchY = event.values[1]; 
     float yawZ = event.values[2]; 

     koordinatrollX.setText("Orientation X (Roll) :" + Float.toString(event.values[0])); 
     koordinatpitchY.setText("Orientation Y (Pitch) :" + Float.toString(event.values[1])); 
     koordinatyawZ.setText("Orientation Z (Yaw):" + Float.toString(event.values[2])); 
    } 

ответ

1

E-7 = 10^-7, так что это очень близко к 0. Вы не можете ожидать, что аппаратные средства, чтобы быть совершенным откалиброван или стол, чтобы быть совершенным плоским. Вы можете позволить пользователю перекалибровать на основе поверхности телефона, но результат, который вы получаете, уже очень близок к нулю.

+0

О, извините. результаты все -5.326322E-7, это должно быть 0 или почти 0. но на самом деле он получает отрицательные результаты. – user2080041

+0

@ user2080041 все равно не имеет значения, результат по-прежнему почти равен 0. Ваши датчики очень точные, поэтому этот результат следует читать как 0. – Warpzit

+0

oke спасибо за ваш ответ :) – user2080041

Смежные вопросы