android: Урок 137 (часть 2). Сенсоры в андроид устройствах. Акселерометр (программирование)

Автор Filip Sergienko
android: Урок 137 (часть 2). Сенсоры в андроид устройствах. Акселерометр (программирование)

ускорение далее рассмотрим сенсоры движения для этого нам надо будет понять, что в нашем трехмерном пространстве устройство есть три оси Happy Google есть такая картинка то есть держать устройства перед собой то есть X проходит слева направо оси Y проходит снизу вверх ползёт проходит сквозь устройство в нашем направлении сенсор ускорения вернёт нам массив из трех значений каждой из которых соответствует определенная сеть создадим проект экран Main xml мы inactivity вон кредит получаем три сенсора ускорение включая.

Гравитацию Ту самую которая 980 физике ускорение чистая без гравитации. Гравитация ждём регистрируем один слушатель лесным на все три сенсора и запускаем таймер который будет 400 миллисекунд отображает данные в textview отписываемся слушателя всех сенсора вызываем метод листера, но не конкретный сенсор и отключаем таймер этот формат просто отформатировать флот значение до одного знака после запятой showinfo выведет в тексте данные данные у нас будут дети массивах слушатели leather Mid 144 мы определяем тип сенсора и соответствующие массивы данных сенсора ускорение включая. Гравитацию данные звали Excel разделенная с помощью вычислительной фильтра на чисто ускорение без гравитации.

Гравитацию данные сенсора ускорение без гравитации и данные сенсора гравитацией то есть мы получаем данные по ускорению сенсора Type акселерометр и потом вычислить фильтром сами.

Разбираем на чисто ускорение и. Гравитацию ну можно так и не заморачиваться использовать сенсоры Type Lyrics Translation етайп Gravity которые должны нам примерно тот же результат кстати. Обратите внимание как я считаю данную свой массив я читаю значение и пишу их себе почему просто не выполнит присваивании типа валяюсь Excel равно. Иван пулюй если так сделать то могут периодически проскакивают кривые данные. Если вы несколько сенсоров читаете. Там похожие объектов чтобы сборщик мусора не грузить таким диким количеством новых объектов на единицу времени соответственно. Если вы возьмете объект по ссылке то пока он дойдет у вас до обработки система взять его в оборот и записать в него уже новое значение причём ещё и от другого центра. Так, что лучше читать значение они ссылку брать запустим приложение и положим. Давай на стол и ещё раз обсудим, что вылилось на экран акселерометр данные по ускорению плюс гравитации видим, что третья ось Z которая в лежачем положении проходит вертикально вверх показывает примерно равное гравитации. То есть даже в состоянии покоя сенсор показывает. Нечистая ускорения ещё и. Гравитацию, что не всегда нужно мы использовали фильтр чтобы отделить ускорение от гравитации Excel чисто ускорение вычисленное из ускорения с гравитацией здесь все нули так как устройство лежит и не двигается Gravity. Гравитация вычисленная из ускорения с гравитацией здесь первые две равные нулю так как они проходят параллельно земле и по этим осям гравитации нет зато она есть по которой проходит вертикально проще говоря планета не тянет нас влево вправо вперед назад она тянет нас вниз. Поэтому показывает ускорение в 9.8 будет то ось которой вертикальна к земле Len Excel данные сенсора чистого ускорения без гравитации тут все нули так как устройство в состоянии покоя эти значения примерно должны совпадать с, что мы посчитали в Excel Motion Gravity данные сенсора гравитацией 3 показывает, что она находится вертикально такое гравитация по ней близко к. Максиму этих значений должны совпадать, что мы посчитали в Excel Gravity. Вы можете подвигать устройство в таком положении с ускорением в разные стороны. Японии как меняются значения осей правда не очень наглядно получается если строить по этим значением график будет конечно лучше видно их изменения во времени теперь я возьму устройство в руки и подниму перед собой чтобы она была на уровне глаз экран смотрел на меня то есть также как на картинке с осями смотрим. Как изменились данные акселерометра чётко видно, что теперь вторая ось Y расположен на почти вертикально вниз идёт. Гравитация 9,8 оси X и Z близки к нулю они не равны точно нулю так как я держу устройство. Не идеально ровное небольшие перекосы дают. Гравитацию и на осень то есть вывод можно сделать следующий чем ближе значение оси к987 вертикальное положение в пространстве. А чем ближе к нулю тем горизонтальный Excel Motion или иных показывает нам чисто ускорение она близка к нулю так как я стараюсь не дёргать устройство xtar Gravity Gravity пока, что по 2 оси имеем почти полную. Гравитацию А значит ось расположена вертикально. Попробуйте по наклонять устройство в разные стороны и понаблюдайте. Как меняется. Гравитация при переходе. Асият горизонтального и вертикального значение сенсора на этой оси будет меняться от 0 до 9 8 продолжение в следующем уроке.

0 комментариев
0

Читайте также