- Акселерометр в телефоне: что это такое, принцип действия, настройка и калибровка
- Принцип действия датчика
- Применение устройства
- Включение и отключение датчика
- Настройка и калибровка
- Выводы
- Android: измерение скорости и расстояния с помощью акселерометра
- Что такое гироскоп в телефоне и для чего он нужен
- Что такое гироскоп в телефоне
- Для чего нужен гироскоп в телефоне
- Чем отличается гироскоп от акселерометра
- Как проверить гироскоп в телефоне
Акселерометр в телефоне: что это такое, принцип действия, настройка и калибровка
Современные смартфоны и планшеты на ОС Android и других платформах, обеспечивают своим владельцам огромное количество возможностей, которые уже давно вышли за пределы обычного общения и интернет-сёрфинга. Для повышения функциональности гаджетов применяется множество дополнительных устройств – от такого приспособления как датчик приближения до акселерометра и гироскопа.
С их помощью удобнее разговаривать по мобильной связи, делать фото и даже играть. Некоторые функции таких датчиков похожи, но в основном они дополняют друг друга – поэтому установленный акселерометр в телефоне не исключает наличие в конструкции и гироскопа.
Принцип действия датчика
Пользователь, впервые столкнувшийся с термином «акселерометр» в списке характеристик смартфона, может заинтересовать, что это такое, как работает и выглядит. Ответить на эти вопросы несложно – устройство, получившее название от латинского слова «accelero» («ускоряю»), применяется для измерения кажущегося ускорения.
Определяя этот параметр, датчик помогает программному обеспечению контролировать положение телефона в пространстве и расстояние, на которое был перемещён мобильный гаджет.
Между тем, даже зная, что такое акселерометр, некоторые пользователи не отличают его от гироскопа. На самом деле оба датчика могут измерять одни и те же величины, но полностью заменить друг друга не способны.
При этом гироскоп в телефоне необходим для определения угла поворота гаджета относительно определённой плоскости. А акселерометр требуется для контроля положения в пространстве путём измерения ускорения движения. Совместное использование устройств помогает программному обеспечению гаджета получить более точные результаты.
Рис. 1. Один из примеров работы акселерометра.
Рассматривая действие акселерометра и что это такое по большому счёту, стоит познакомиться с принципом действия классического приспособления:
- Основная часть датчика представляет собой инертную массу (например, грузик), прикреплённую к упругому элементу.
- Упругая деталь типа пружины фиксируется на неподвижном элементе.
- Пружина зафиксирована на неподвижной части конструкции.
- Колебания груза подавляются демпфером.
- При наклонах, встряске и поворотах гаджета инертная масса реагирует на силу инерции.
- Чем больше интенсивность и сила наклона, встряски или поворота, тем сильнее деформируется пружина.
- После возвращения массы на место под воздействием пружины уровень смещения относительно обычного положения фиксируется специальным датчиком.
Рис. 2. Конструкция стандартного акселерометра.
С другой стороны, ответ на вопрос по поводу акселерометра в телефоне – что это и как выглядит, будет немного отличаться. В данном случае он представляет собой миниатюрный элемент на плате с расположенной внутри инертной массой и выглядит обычно как маленький чёрный квадрат.
Основной принцип работы элемента мало отличается от стандартного – при изменении положения инертной массы определяется величина смещения, по которому рассчитываются показатели положения гаджета. Такие датчики стоят практически на любом виде мобильной техники – на телефоне или планшете.
Рис. 3. Внешний вид датчика для смартфона.
Применение устройства
Определившись с тем, что представляет собой акселерометр в телефоне, стоит узнать и как им пользоваться – для этого можно привести несколько примеров:
С помощью датчика осуществляется управление в играх – смена положения мобильного устройства вызывает определённые действия со стороны игрового персонажа или управляемого игроком транспортного средства. Так, например, наклоном телефона можно изменять направление движения автомобиля в гоночных симуляторах.
Рис. 4. Игра Asphalt 8, управление в которой выполняется с помощью акселерометра.
Во время спортивной пробежки акселерометр используется в смартфонах и планшетах для контроля пройденной дистанции. При этом определяется примерное количество сделанных шагов – и, хотя погрешность может быть довольно высокой (зависит от скорости движения), полученные результаты можно использовать для повышения результатов тренировки.
Наличие таких датчиков на смартфонах и планшетах позволяет изменять ориентацию изображения. Расположив мобильный гаджет горизонтально, пользователь при помощи акселерометра автоматически получает альбомный формат картинки или текста. При вертикальном расположении экрана ориентация изменится на книжную.
В других устройствах датчик применяют и для выполнения тех же задач, для чего нужен акселерометр на телефонах, и для других целей. Так, в авиации он необходим для работы навигационных систем, а в промышленности используется в качестве вибропреобразователя.
В системах управления жёсткими дисками HDD акселерометр требуется для компенсации вызываемых ускорениями объекта колебаний и защиты хранящихся на накопителе данных.
Видеорегистраторы с помощью этого датчика способны определять время ускорения и торможения, фиксировать остановки и столкновения. На джойстиках игровой приставке акселерометр необходим для управления игровым процессом.
Включение и отключение датчика
Способ, как узнать есть ли акселерометр на телефоне, заключается в повороте экрана в другое положение. Если изображение при этом не изменилось, значит датчик отсутствует – или на смартфоне просто отключена функция «Автоповорота».
У большинства моделей поворот экрана при изменении положения автоматически включается и выключается с помощью меню настроек или верхней панели на главном экране:
В первом случае следует перейти в «Настройки», выбрать пункт «Экран» и включить поворот изображения.
Рис. 5. Включение через настройки.
Во второй ситуации достаточно потянуть пальцем за верхнюю панель, увеличив её размер на весь экран, и включить соответствующую функцию.
Рис. 6. Включение через верхнюю панель.
Настройка и калибровка
Практически все новые телефоны с гироскопом имеют и встроенный датчик контроля ускорения. При отсутствии акселерометра в телефоне, что говорит о бюджетной стоимости модели или её выпуске много лет назад, добавить эту функцию не получится ни перепрошивкой, ни изменением настроек.
Зато при наличии датчика, если он не работает или неправильно реагирует на изменение положения устройства, можно выполнить его калибровку.
Автоматическая настройка Андроид акселерометра выполняется в три этапа:
Рис. 7. Меню приложения.
На дисплее гаджета появится сообщение о необходимости установки на ровную поверхность. После подтверждения запускается калибровка. Завершение процесса сопровождается появлением соответствующей надписи.
Рис. 8. Работа приложения GPS Status & Toolbox.
Выводы
Зная, что такое акселерометр, можно сделать определённые выводы по поводу его наличия в современных мобильных устройствах. Наличие датчиков определения положения смартфонов и планшетов позволяет упростить просмотр на телефоне видео или чтение книг, а иногда даже помогает в игровом процессе.
Однако перед использованием акселерометра его иногда приходится настраивать. На это потребуется всего несколько минут и скачивание бесплатной утилиты.
Источник
Android: измерение скорости и расстояния с помощью акселерометра
С тех пор, как у меня появился гуглофон, периодически бродят в голове мысли «а что бы такого забавного сделать с этим самым телефоном?» Поиграв в игрушки с управлением акселерометром, подумал — а что еще можно с помощью этого датчика сотворить? Конечно же, измерить ускорение! И, как следствие, вычислить скорость и пройденный путь. Разумеется, использование лишь акселерометра накладывает ряд ограничений на измеряемое: во-первых, движение должно быть прямолинейное, во-вторых — ориентация аппарата в пространстве не должна меняться, в третьих — желательно откалибровать датчик перед стартом измерения. Сразу скажу — есть способы смягчить эти требования, но об этом потом.
Главный вопрос, как обычно, «зачем?». Зачем это, если есть GPS? Что ж, верное замечание. Однако, GPS работает не везде, а акселерометр — он с собой в телефоне. Например, пробовали поймать спутники в метро.
С «Зачем» разобрались, переходим к «Как».
Для того, чтобы реагировать на изменение ускорения, необходимо реализовать где-нибудь интерфейс SensorEventListener. Так как мы еще не придумали, что с ним делать, создадим абстрактный класс
И, заодно, класс для хранения показания счетчика датчика:
И подумаем, что же делать дальше. Период обновления информации с сенсора в режиме SENSOR_DELAY_GAME — примерно 20 миллисекунд. Это достаточно часто, наша задача такого не требует. С другой стороны, снимая показания реже, мы рискуем попасть на «выбросы», и потерять точность. Логично каким-то образом регулярно получать усредненное значение ускорения, скажем, за последнюю секунду. Хранить массив и вычислять среднее значение — накладно, гораздо проще складывать все получаемые значения и делить на количество. Также, предусмотрим dX, dY, dZ — нашу еще не реализованную калибровку.
Вот что получится:
С Вашего позволения, я пропущу описания методов калибровки датчика. Достаточно сказать, что необходимо в течении некоторого времени снимать покания, затем установить у нашего XYZAccelerometer соответствующие dX, dY, dZ. Пренебрегать этой процедурой нельзя, т.к. пока мы спим постоянно действует ускорение свободного падения, и датчик его измеряет.
Для пущей важности, обзаведемся классом для хранения и вычисления параметров движения на интервале:
И классом для хранения информации обо всем эксперименте:
Думаю, тут все просто и понятно. Осталось только использовать это в нашей Activity… которой, кстати, еще нет. Начнем с layout:
Вот и все. Удивительно, но на ровной траектории такой метод дает весьма неплохую точность измерения.
Прилагаю график одного эксперимента: синяя линяя — скорость, расчитанная акселерометром, красная — снимаемая с GPS с максимальной частотой. Черная клякса — скорость по спидометру в конце эксперимента.
Источник
Что такое гироскоп в телефоне и для чего он нужен
Современные телефоны представляют собой довольно сложные устройства, содержащие множество модулей и датчиков. Рядовой пользователь редко интересуется тем, из чего состоит его смартфон. Человеку важно получить качественный аппарат, позволяющий запускать игры, просматривать видео и посещать веб-сайты. Однако при тщательном изучении информации можно обнаружить множество, казалось бы, ненужных деталей, установленных в телефонах. В этой статье давайте разберёмся, что такое гироскоп в телефоне, а также рассмотрим, для чего он используется и как настраивается.
Что такое гироскоп в телефоне
Гироскоп в телефоне – это специальный датчик, предназначенный для определения положения устройства в пространстве. Его нельзя назвать новым изобретением, так как подобную технологию можно было встретить уже в 19-ом веке. В то время это был довольно громоздкий прибор, представляющий собой круг, вращающийся вокруг оси. Если объяснять более конкретно, то он был похож на детскую юлу или волчка.
Понятное дело, что в смартфоны устанавливается совершенно другая конструкция. Это небольшой датчик, который обладает длиной в 3-5 мм, высотой в 5 мм, а шириной в 4 мм. Даже несмотря на столь смешные габариты, многие производители не устанавливают его в свои аппараты, стремясь сделать телефон максимально тонким. Гироскоп вычисляет угол наклона устройства относительно земли, а после передаёт полученные данные операционной системе.
Без подобного датчика было бы сложно играть в игры, особенно гонки, где для управления требуется поворачивать смартфон. Качественные гироскопы настолько точные, что способны определять отклонения на 1-2 градуса. Этого достаточно, чтобы вовремя изменить ориентацию экрана телефона или повернуть игрового персонажа.
Для чего нужен гироскоп в телефоне
Как было сказано выше, главное предназначение гироскопа в телефоне – это определение положения устройства в пространстве. Но зачем системе знать, насколько градусов наклонён смартфон? Ответ на этот вопрос вы можете найти далее, ознакомившись со следующим списком:
- Просмотр видео в 360 градусов. Если у вас есть очки виртуальной реальности, то вы можете просматривать ролики и играть в игры без нажатий по экрану. Все повороты становятся возможными благодаря гироскопу.
- Встряхивание телефона. Без рассматриваемого датчика нельзя было бы использовать функцию, позволяющую разблокировать смартфон после встряхивания.
- Использование навигации. Без гироскопа практически невозможно пользоваться GPS и компасом. Этот датчик позволяет определять стороны горизонта и расположение человека относительно спутника.
- Управление персонажем в играх. Существует огромное количество мобильных игр, где для управления автомобилем или героем нужно поворачивать телефон. Без гироскопа система никак не смогла бы понять положение устройства.
Конечно, в этом списке описаны не все ситуации, где используется гироскоп, но их будет достаточно для первоначального ознакомления.
Чем отличается гироскоп от акселерометра
Гироскоп и акселерометр – датчики, предназначенные для определения положения смартфона в пространстве. Самое главное и единственное отличие между ними кроется в принципе считывания данных. Первый компонент высчитывает угол наклона телефона относительно поверхности земли, а после передаёт полученную информацию операционной системе. А вот акселерометр вычисляет ускорение, причём очень точно.
Именно поэтому в качестве шагомера лучше использовать телефон с акселерометром. Полученные данные будут максимально точными, так как датчик учитывает отклонения даже на десятые части миллиметра. Современные производители стараются устанавливать в свои смартфоны как гироскоп, так и акселерометр. Подобное решение является правильным, что исключает случайные повороты экрана устройства при его перемещении.
Как проверить гироскоп в телефоне
Трудно найти смартфон, в которым бы отсутствовал датчик для определения положения устройства в пространстве. Гироскоп не нужно как-то активировать в настройках, а вот проверить его работоспособность лишним не будет. Легче всего это сделать через запуск видео в 360 градусов на YouTube.
Источник