Тест акселерометра
Проверьте акселерометр телефона или планшета прямо в браузере. Нажмите «Начать» и подвигайте устройством — X, Y и Z покажут ускорение в реальном времени в м/с², индикатор отобразит суммарную G-силу, а каждая встряска будет посчитана.
Нажмите «Начать» и подвигайте телефоном — каждая ось покажет значение в реальном времени в м/с².
Откройте эту страницу на телефоне или планшете, который хотите проверить, — на компьютерах датчики движения встречаются редко.
Телефон в покое показывает около 1G — это гравитация. Ноль будет только в свободном падении.
Подвигайте влево-вправо, затем вверх-вниз, затем к себе — так каждая ось отзовётся отдельно.
Резкие встряски поднимают G-силу выше 1G и увеличивают счётчик — тот же сигнал, что лежит в основе жеста «встряхни, чтобы отменить».
Акселерометр отвечает за автоповорот экрана, подсчёт шагов, жесты встряхивания и управление в любой игре с датчиком движения. Когда он барахлит или выходит из строя, эти функции ломаются непонятным образом: экран перестаёт поворачиваться, фитнес-приложение неверно считает шаги, гоночная игра «тянет» в одну сторону. Этот тест напрямую считывает данные с датчика, так что за несколько секунд можно понять, реагирует ли железо на движение вообще и работает ли каждая ось, — это стоит проверить перед покупкой телефона с рук, после падения или ремонта, или когда приложение с датчиком движения ведёт себя странно и нужно понять, кто виноват — приложение или сам датчик. Заодно проверьте экран с помощью Тест сенсорного экрана.
Тест считывает данные из DeviceMotion API браузера — того же потока движения, который получают веб-игры. Показания поступают много раз в секунду в метрах на секунду в квадрате (м/с²), где 9.81 м/с² равно 1G — одной земной гравитации. Показания по осям включают гравитацию, поэтому их легко интерпретировать: телефон, лежащий на столе экраном вверх, показывает около +9.8 по оси Z и почти ноль по X и Y, а при наклоне эти 9.8 «перетекают» между осями. Счётчик встряхиваний использует поток без учёта гравитации, поэтому считаются только настоящие резкие толчки. На iPhone и iPad iOS запрашивает доступ к датчикам движения при нажатии «Начать» — до этого момента ничего не считывается. Данные никуда не отправляются: цифры не покидают страницу.
Как читать значения X, Y и Z?
| Ось | Направление | Что вы должны увидеть |
|---|---|---|
| X | Поперёк экрана — влево и вправо | Подвиньте телефон в сторону по столу: X колеблется между отрицательными и положительными значениями, а Y и Z почти не меняются |
| Y | Вдоль экрана — снизу вверх | Подвиньте его вперёд-назад или поставьте вертикально: Y реагирует, а X и Z остаются спокойными |
| Z | Через экран — спереди назад | Экраном вверх в покое Z показывает около +9.8 м/с² (гравитация); экраном вниз значение устанавливается около −9.8 |
Почему он показывает 1G, когда телефон совершенно неподвижен?
Акселерометр измеряет силу, а не движение. Телефон, лежащий на столе, испытывает со стороны стола силу, равную ровно одной гравитации и направленную вверх, поэтому исправный датчик в состоянии покоя показывает 1G — 0G он покажет только в свободном падении. По той же причине показания на миг «перескакивают» в обратную сторону, когда вы резко останавливаете движение: остановка телефона — это торможение, и датчик воспринимает его как ускорение в обратном направлении, прежде чем значение снова устанавливается на 1G. Оба эффекта означают, что датчик работает исправно, а не глючит.
Акселерометр и гироскоп
Акселерометр измеряет линейную силу — толчки, рывки, гравитацию, встряхивания. Гироскоп измеряет скорость вращения — то, как быстро устройство поворачивается вокруг каждой оси. Медленный поворот телефона почти не отражается здесь, кроме перераспределения гравитации между осями, и это нормально: вращение — задача гироскопа. Большинство функций, связанных с движением, используют оба датчика, поэтому если приложения всё ещё ведут себя странно после проверки всех осей, следующим подозреваемым становится гироскоп — проверьте его с помощью Тест гироскопа.
Нет показаний? Устранение неполадок
| Проблема | Вероятная причина | Решение |
|---|---|---|
| Все значения остаются пустыми на компьютере | У большинства десктопов и ноутбуков нет акселерометра | Откройте эту страницу на телефоне или планшете |
| На iPhone нет запроса разрешения и нет данных | Доступ к датчикам движения был ранее запрещён для этого сайта | В Safari: меню «aA» → Настройки веб-сайта → разрешите Доступ к движению и ориентации, затем перезагрузите страницу |
| В другом браузере запрос разрешения так и не появляется | Датчикам движения нужна защищённая страница, а некоторые встроенные веб-просмотры их блокируют | Откройте страницу по HTTPS в полноценном браузере, а не во встроенном веб-просмотре приложения |
| Значения замерли или обновляются рывками | Режим энергосбережения или сбой датчика в ОС ограничивает поток данных | Отключите энергосбережение, перезагрузите устройство и повторите тест |
| Одна из осей вообще не реагирует | На этой оси отказал датчик или сбилась калибровка | Перезагрузите устройство и повторите тест; если ось так и не заработает, датчик неисправен — это стоит знать перед покупкой или при подаче заявки на ремонт |
