Датчики мобильного телефона

После нескольких часов поиска я так запутался, поэтому сейчас расскажу, что я узнал, поэтому, пожалуйста, поправьте меня, если я был неправ:

Датчик освещенности: окружающий свет

Магнитный датчик: я могу найти северное местоположение.

Датчик акселерометра: сила тяжести X Y Z, сила тяжести земли или любое другое ускорение.

Датчик приближения: как и датчики парковки.

Датчик ориентации: сообщает, что градусы X Y Z формируют их ось.

Я попробовал эти датчики с помощью некоторых приложений из Android Market, таких как «Мои датчики», и могу подтвердить, что датчик акселерометра не чувствует, когда вы поворачиваете телефон над столом. При этом Датчик ориентации как бы улавливает все движения. Теперь я могу сделать вывод, что приложение компаса использует магнитный датчик, чтобы увидеть, где находится север, а затем датчик ориентации, чтобы узнать, куда вы направляетесь со своим устройством, верно?

при переключении между портретным и ландшафтным режимами используется «Датчик акселерометра» и проверяется земное притяжение на какой оси. верно?

Q1: так что если все в порядке, что такое "гироскоп"? это то же самое, что и "датчик ориентации"?

В2: доступен ли датчик ориентации на большинстве устройств?

Q3: какие другие виды использования датчика ориентации?

Вопрос 4: почему на большинстве веб-сайтов даже в Википедии говорится, что датчик ориентации == датчик акселерометра?

-Рами


person rami    schedule 13.01.2011    source источник


Ответы (3)


Хорошо, сначала самые простые... Что касается Q1, гироскоп измеряет угловую скорость (радиан в секунду), а ориентация имеет другую величину. , рассказывая нам, как «размещено» устройство (я действительно не знаю, как объяснить что-то настолько простое на английском языке).

Что касается Q2, я бы сказал да, 3-осевая ориентация доступна на большинстве смартфонов, по крайней мере, на Android.

Q3: Компас фактически использует значения Orientarion, датчик магнитного поля измеряет эту величину (не в градусах), хотя, вероятно, вы можете рассчитать значения компаса с помощью магнитного поля. Другое использование... ну, например, вы можете сказать, лежит ли устройство вверх или вниз.

Насчет Q4 тут сложнее, я не то чтобы специалист по акселерометрам, но думаю, что большинство этих "сенсоров" используют один и тот же аппаратный датчик, который измеряет магнитное поле и производит необходимые расчеты, но я настаиваю, может лучше почитать более подробную и техническую информацию.

Если вы заметили, сейчас OrientarionSensor устарел, и это написано в документах:

Примечание. Этот тип датчика существует по устаревшим причинам, вместо этого используйте getRotationMatrix() в сочетании с remapCoordinateSystem() и getOrientation() для вычисления этих значений.

Так что да, кажется, что он вычисляет значения ориентации через акселерометр, но тем не менее ориентация задается в градусах, а ускорение в (м/с ^ 2), разные величины. Как я уже говорил, я думаю, что они измеряют разные величины одним и тем же датчиком, поэтому они представляют разные типы Events в API.

Надеюсь, я не написал много больших ошибок, потому что я также хотел бы прояснить некоторые понятия, касающиеся этих датчиков.

person mdelolmo    schedule 13.01.2011
comment
Ну что могу сказать, магнитный датчик используется датчиком ориентации, и аппаратно он такой же, например в моем асер жидкости это Yamaha MS-3C. С другой стороны, акселерометр — это еще одно оборудование, которое есть в моем телефоне Bosch Sensortec SMB380. Я хочу, чтобы кто-то еще пришел и прояснил весь вопрос - person rami; 19.01.2011
comment
небольшое обновление, Yamaha MS-3C имеет 3 контакта для подключения к акселерометру - person rami; 19.01.2011

mdelolmo совершенно прав.

Я хотел бы добавить следующее:

  • О Вопросе 4. Все называют датчик ориентации акселерометром
    , поскольку смартфоны используют его для функции "Автоповорот".
    Переключение между портретным и альбомным режимами
    (часто называемое ориентация с точки зрения непрофессионала) выполняется
    путем определения того, вдоль какой из осей телефона находится гравитация. Это делается с помощью акселерометра-IC.

  • Датчик ориентации (в Android) использует данные акселерометра
    и магнитные данные для определения точного положения
    устройства. т.е. углы, которые он образует со всеми тремя осями. Это
    азимут(или рыскание), тангаж и крен.

  • Гироскоп обеспечивает угловую скорость устройства.
    Это НЕ датчик ориентации.

person TheCodeArtist    schedule 05.03.2011

Я не работал с телефонами Android, но, возможно, в будущем, однако акселерометры обычно определяют ускорение за счет движения контрольной массы. Таким образом, их можно использовать для приблизительной ориентации устройства, потому что они воспринимают g-вектор, поэтому любая ориентация абсолютно не ограничена по углу относительно g-вектора. Теперь акселерометры можно использовать как гироскопы, но они не используются таким образом, потому что они должны быть лучше, чем любой акселерометр, который в настоящее время производится, чтобы определять вращение через центростремительное ускорение.

Гироскопы напрямую измеряют либо угловую скорость, либо угол. Большинство из них измеряют угловую скорость, а скорость интегрирована для получения угла, поэтому их можно использовать для измерения ориентации, но, поскольку они являются инерционными датчиками, они дрейфуют и поэтому не обеспечивают абсолютную ориентацию, но являются отличными датчиками для относительного вращения или относительной ориентации по отношению к совсем недавняя ориентация. Надеюсь, это поможет.

Магнитный датчик измеряет направление на истинный север через магнитное поле Земли. Магнитный датчик, снабженный на север g-вектором через акселерометры, дает полную информацию об ориентации, поскольку он нарушает симметрию ориентации относительно g-вектора. Это действительно верно только тогда, когда телефон/сенсоры не двигаются. Поскольку я не знаю, как это реализовано в телефоне, я не могу сказать больше, но тот факт, что вам нужны акселерометры и другая ориентация, чтобы получить полную ориентацию, может быть причиной путаницы по этому вопросу.

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

Если вы не двигаетесь и обладаете достаточной чувствительностью для измерения земной скорости с помощью гироскопов, вы можете сделать что-то, называемое гирокомпасированием, когда гироскопы и акселерометры аналитически или физически выравниваются с системой координат местного уровня. Вот насколько лучше гироскопы и акселерометры измеряют ориентацию в таких системах, как самолеты, космические корабли и корабли/подводные лодки. Есть много сложностей, но это основная идея.

person Robin Pettit    schedule 18.11.2014