Сайт разработчика Александр Климова

/* Моя кошка замечательно разбирается в программировании. Стоит мне объяснить проблему ей - и все становится ясно. */
John Robbins, Debugging Applications, Microsoft Press, 2000

Акселерометр

3-й курс/Закрытая зона

Базовый пример
Экраном вниз или вверх
Перегрузка
Обнаружение тряски

Практически любой современный телефон имеет акселерометр, позволяющий определить положение телефона относительно земли, а также ускорение в пространстве по осям X, Y, Z.

Акселерометр используется для измерения ускорения. Его иногда называют датчиком силы притяжения.

Акселерометры часто выступают в качестве датчиков силы притяжения, так как они не могут определить, чем вызвано ускорение — движением или гравитацией. В результате этого в состоянии покоя акселерометр будет указывать на ускорение по оси Z (вверх/вниз), равное 9,8м/с2 (это значение доступно в виде константы SensorManager.STANDARD_GRAVITY).

Ускорение — это производная скорости по времени, поэтому акселерометр определяет, насколько быстро изменяется скорость устройства в заданном направлении. Используя этот датчик, вы можете обнаруживать движение и, что более полезно, изменение его скорости. Акселерометр не измеряет скорость как таковую, поэтому вы не можете получить скорость движения, основываясь на единичном замере. Вместо этого необходимо учитывать изменения ускорения на протяжении какого-то отрезка времени.

На практике, скорее всего, вас будет интересовать ускорение относительно состояния покоя или быстрого движения (сопровождаемого резкими изменениями в ускорении); такое ускорение может возникать при использовании жестов для ввода данных. В первом случае вам потребуется откалибровать устройство, вычислив начальные показатели ориентации и ускорения, чтобы учитывать их влияние при вычислении будущих результатов.

Вы вошли на сайт, как гость.
Необходимо зарегистрироваться, чтобы прочитать статью

Реклама