У меня есть устройство 16 ГБ от Motorola. Он имеет акселерометр с 3 осями LIS3DH.Минимальный и максимальный диапазон акселерометра и преобразование данных датчика
Для чтения значения Max и Min Accelerometer я использовал эти API.
getMaximumRange()
Some says его шоу zero to Pick
или pick to pick
Но для моего устройства я получаю значение 39,24
так я хотя 39,24/9,8 = ~ 4,00 сек мой диапазон +/- 4g
Но когда я просто читаю данные x, y, z и сохраняю их в файле и вижу значения при максимальном ускорении для моего смартфона, тогда его значения отображаются до 76 м/с2
В чем смысл этого?
Является ли это ошибкой моего устройства?
как преобразовать эти значения в значения + - 2g. мой алгоритм хочет значение в формате + -2g, как это сделать?
Как выполнить отрезку или сбрасывание значений данных датчика?
В соответствии с листом данных акселерометр динамически настраивается для разных диапазонов. Возможно, вы можете использовать интроспекцию, чтобы увидеть, есть ли у внедряющего класса датчика дополнительные методы для динамического изменения диапазона датчиков. Технический паспорт датчика: http://www.st.com/web/catalog/sense_power/FM89/SC444/PF250725?icmp=pf250725_pron_pr_feb2014 Я также рекомендую прочитать http://developer.android.com/reference/android/hardware/SensorEvent .html # values –
@ KlasLindbäck спасибо только что прочитал, что только –
1G составляет 32 'в секунду (сек * сек), поэтому 76 м в секунду (сек) сек (примерно) 228' в секунду * сек., поэтому 228/32 = 7.125 Г. – user3629249