Где расположен акселерометр у iPhone?

iphone_accelerator

Большинство смартфонов имеют встроенный акселерометр, позволяющий делать разнообразные интересные вещи, например, определять, насколько высоко можно подбросить телефон.

Кроме того, при помощи полученных с него данных можно определить его местоположение на телефонной плате. Основная идея – получить данные об ускорении с телефона, затем проследить за изменением ускорения в зависимости от положения корпуса смартфона, и исходя из этого, вычислить месторасположение датчика сенсора акселерометра.

Попробуем?

Ключом к эксперименту будет являться круговое движение. Когда объект движется по окружности с постоянной скоростью, он будет иметь ускорение:

formula

Кроме того, ускорение движущегося по кругу объекта будет направлено к центру круга:

diagram

Если ось y корпуса iPhone направлена к центру окружности, то компонент y его ускорения будет постоянным. Итак, нужно положить телефон на вращающуюся платформу, на постоянном расстоянии от центра вращения. За счет записи ускорения и угловой скорости можно определить расстояние датчика до центра круга. Довольно просто, не так ли?

Для записи ускорения на iPhone можно воспольоваться каким-либо подходящим приложением, например, Mobile Science Acceleration.

Оно полностью бесплатное, и данные можно экспортировать в CVS-файл или получить их по email.

Используем вращающуюся метровую палку, на одной конце которой расположен iPhone. Для контроля скорости электромотора можно применить конструктор LEGO Mindstorms.

Угловую скорость получим при помощи закрепленной сверху видеокамеры.

Запись значений с акселератора в приложении установим с частотой 10 раз в секунду. Сохраненные данные (их можно импортировать в Vernier’s Logger Pro) выглядят примерно так:

vernier_logo_pro

Здесь показано ускорение, данные немного разные, но можно видеть постоянные значения (выделенные синим), которые можно взять за основу для вычисления местоположения акселератора.

Также понадобится значение угловой скорости. Вот угловая скорость для половины оборота, которую можно получить, проанализировав данные с камеры при помощи Tracker Video Analysis.

circular_iphone

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

distance

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

radius_figure

По оси у получается примерно 0,44 м и по оси х  — примерно 0,43 метра.

Теперь нужно найти пересечение построенных кривых, которое и должно дать месторасположение акселерометра.

Вот что получается:

accelerometr_iphone

В этой точке, если все данные верны, и расположен акселерометр у iPhone.


✅ Подписывайтесь на нас в Telegram, ВКонтакте, и Яндекс.Дзен.



Добавить комментарий