Акселерометр айфон как включить

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Поставьте 5 звезд внизу статьи, если нравится эта тема. Подписывайтесь на нас Telegram , ВКонтакте , Instagram , Facebook , Twitter , YouTube .

Источник

Не поворачивается экран в Айфоне

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

Чтобы гироскоп работал своевременно, производители позаботились об наличии отдельной микросхемы, расположенной на плате. С её помощью осуществляется ориентация в пространстве и происходит мгновенная реакция на изменения угла наклона телефона. В случае, если внутрь корпуса попадет влага, то работоспособность гироскопа может пострадать и вполне вероятно понадобится приобрести новые дисплеи на Айфон.

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

Выход гироскопа из строя

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

Читайте также:  При зарядке садится iphone

В качестве признаков неисправности можно отметить несколько случаев:

вне приложения не происходит поворот изображения;

если изображение самопроизвольно изменяется или айфон не поворачивает экран вообще;

при развороте на рабочем столе возникает какая-то ошибка или отказ действий.

При таком раскладе, когда на Айфон не было оказано физическое воздействие, то вполне вероятно, что причиной поломок гироскопа смартфона является программная ошибка. В таком случае, решением проблемы будет банальное обновление прошивки или операционной системы. Чтобы решить программную ошибку, пользователю нет нужды обращаться в специализированный сервисный центр. Такие действия он вполне может выполнить самостоятельно. Изредка решением проблемы также выступает откат системы к начальной версии, осуществление калибровки, чистка телефона от лишних приложений или применение дополнительных программ.

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

В большинстве сервисных центров такой ремонт требует определенного количества времени. Это связано с тем, что понадобится проведение полной экспертизы устройства и монитора. Как только диагностика будет выполнена, то компетентные специалисты займутся заменой микросхемы на плате. Для осуществления подобных операций понадобится приобрести специализированные запчасти для Iphone.

Самостоятельное устранение неисправности

Чтобы определиться с причиной возникновения поломки, следует проверить, что функция блокировки ориентации экрана полностью отключена. Для этого понадобится открыть пункт управления и нажать на кнопку управления функцией блокировки ориентации экрана. Можно также попытаться сдвинуть переключатель на доковой панели в другое положение.

Функция смены ориентации экрана может не работать также в том случае, если включена опция увеличения экрана. Для её отключения понадобиться сместить флажок в меню «Вид» в положение «Стандартно». После этого должна активизироваться смена ориентации дисплея. Выполнение принудительной перезагрузки может помочь в том случае, если речь идет о какой-то нестандартной ошибке в системном обеспечении телефона. Следует учитывать, что самостоятельные попытки устранения неисправности могут только усугубить положение вещей.

Источник

Как откалибровать iPhone

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

Эти инструкции относятся к устройствам с iOS 11 и более поздними версиями.

Как откалибровать яркость экрана iPhone

Если датчик автояркости iPhone не работает должным образом, телефон неадекватно реагирует на изменения освещения. Эта проблема может возникнуть из-за того, что функция Auto-Brightness регулируется частично в зависимости от того, где было установлено значение при включении функции.

Вот как откалибровать датчик автояркости:

Откройте приложение « Настройки» .

Перейдите в Общие , затем нажмите Доступность .

Выберите Показать размещение , затем выключите тумблер Auto-Brightness . Переместитесь в темную или плохо освещенную комнату, затем вручную уменьшите яркость , чтобы экран был максимально темным.

Чтобы получить доступ к настройкам яркости из любого места на iPhone, проведите пальцем вверх от нижнего края экрана (или сверху вниз на iPhone X ), чтобы открыть Центр управления .

Включите тумблер Auto-Brightness , затем перейдите в комнату с обычным освещением, чтобы увидеть, работает ли Auto-Brightness лучше.

Источник

Принципы разработки ПО для iPhone с использованием акселерометра

В статье рассмотрено принципы работы iPhone акселерометра, показаны примеры приложений, использующие акселерометр в качестве главного компонента, наведены рекомендации по использованию акселерометра. Также показано, как использовать акселерометр в веб-приложениях. Часть материалов была взята из статьи «Скроллинг при помощи акселерометра».

Читайте также:  Что делать когда постирал айфон

Что такое акселерометр?

Акселерометр (от лат. accelero — ускоряю и μετρέω — измеряю) — прибор, измеряющий проекцию кажущегося ускорения. Кажущееся ускорение есть равнодействующая сил не гравитационной природы, действующая на массу и отнесённая к величине этой массы. Акселерометр может применяться как для измерения проекций абсолютного линейного ускорения, так и для косвенных измерений проекции гравитационного ускорения. Последнее свойство используется для создания инклинометров. Акселерометры входят в состав инерциальных навигационных систем, где полученные с их помощью измерения интегрируют, получая инерциальную скорость и координаты носителя. Электронные акселерометры часто встраиваются в мобильные устройства (в частности, в телефоны) и применяются в качестве шагомеров, датчиков для определения положения в пространстве, автоматического поворота дисплея и других целей. В игровых приставках акселерометры используются для управления без использования кнопок — путем поворотов в пространстве, встряхиваний и т. д.

Apple — не первая компания, которая внедрила акселерометр в мобильный телефон, но первая, у которой это получилось хорошо.

Как можно использовать акселерометр?

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

Несколько базовых примеров:

C помощью iBeer можно попить виртуальное пиво:

iBoobs — программа, которая не прошла отдел цензуры в Apple.

Обзор других программ можно посмотреть по ссылкам внизу.

Немного теории

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

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

Заметьте, это именно ускорение, а не скорость движения устройства. То есть, если ваш iPhone начнет падать на землю, то проекции величины ускорения примут значение 0 по всем осям — ваш iPhone будет в невесомости 🙂 А если вы поднимаетесь с должным ускорением на лифте вверх, то значение силы тяжести на время ускорения увеличится.

Интерфейс акселерометра

Несколько фактов:
  • является частью UIKit фреймворка
  • предоставляет информацию по трем осям
  • можно настроить частоту обновления данных (приблизительно 10-100 Гц)

Классы:
  • UIAccelerometer
  • UIAcceleration

Протокол:

Координатные оси

Сразу хочу заметить, что координаты X, Y, Z не показывают координаты (положение) устройства в пространстве, как это можно было бы предположить. На самом деле они означают следующее:

  • координата X (Roll) показывает информацию о повороте устройства влево или вправо;
  • координата Y (Pitch) дает нам следующую информацию: iPhone находится в вертикальном
    положении (-1), лежит в горизонтальной плоскости (0) или находится в
    вертикальном положении, только вверх ногами (+1);
  • координата Z (Face up/face down) показывает, в каком положении находится устройство: лицом вверх (-1,
    при нулевых значениях по другим осям), в вертикальном положении (0) или
    лицом вниз (+1).


Координатные оси iPhone акселерометра

Для случая произвольной ориентации iPhone данные о величине ускорения распределяются по осям согласно проекции вектора ускорения.


Расчет вектора при произвольном положении iPhone

Подключаем акселерометр в проект

Всю необходимую информацию аккумулирует объект класса UIAcceleration, возвращающий данные по всем осям, а также временной маркер, позволяющий определить относительное время замера указанных
величин. Напрямую подступиться к данным этого класса нельзя, эту информацию можно получить только через делегат UIAccelerometerDelegate, предоставляющего для реализации один единственный метод
accelerometer:didAccelerate:, в который возвращается объект класса UIAcceleration. Назначение делегата и инициализация вызовов метода accelerometer:didAccelerate: происходит при помощи класса UIAccelerometer.

Для того, чтобы подключить акселерометр, необходимо в методе applicationDidFinishLaunching написать следующий код:

Метод setUpdateInterval устанавливать частоту обновления данных, kUpdateFrequency — коэффициент, который показывает, как часто нужно получать данные.

Читайте также:  Apple mobile device service была запущена

Например, в случае #define kUpdateFrequency 60.0 получим 60 «опросов» в секунду.

Кроме того, в заголовочном файле класса вашего делегата нужно указать протокол UIAccelerometerDelegate:

Логику обработки данных акселерометра нужно добавить в метод didAccelerate в классе делегата:

Замечания:

  • можно объявлять лишь один делегат для приложения
  • данные приходят асинхронно к основному потоку

Настройка акселерометра:

  • Диапазон частоты — 10 -100 Гц.
  • Рекомендуемая частота для игр: 30-60 Гц, для определения ориентации — 10-30 Гц.

Для остановки получения значений необходимо вызвать следующий код:

Угол наклона

Геометрически можно показать работу акселерометра следующим образом:

Из рисунка видно, что угол может быть рассчитан с помощью функции арктангенса, т.е.:

float angle = atan2(y, -x);

Положения акселерометра можно посмотреть на рисунке:


С помощью информации об угле поворота можно менять ориентацию экрана:

Скачать пример приложения можно здесь.

Пример 1. Прокрутка с помощью акселерометра

Возьмем за точку отсчета положение нашего устройства в пространстве, при котором угол между задней стенкой и землей составляет 45 градусов. В этом случае проекции силы тяжести на ось Y будет составлять -0.7. Если мы отклоняем аппарат чуть ближе к вертикальному положению, то примем, что при достижении угла в 30 градусов от вертикали мы должны перелистнуть список к концу. И наоборот, при достижении угла в 30 и менее градусов от горизонтального положения, мы должны перелистнуть список к началу.
В первом случае абсолютная величина проекции силы тяжести на ось Y, направленная вдоль аппарата, станет равна 0.86. Те, кто не понял откуда взялось это значение, вспоминаем геометрию и вычисление проекции на ось координат вектора единичной длины. Во втором случае это же значение равно 0.5. Для реализации прокрутки мы воспользуемся методом scrollToRowAtIndexPath:atScrollPosition:animated: класса UITableView.

Фильтры

В основном, используются два фильтра — высокочастотный (high-pass) и низкочастотный (low-pass). Эти фильтры можно использовать для отсеивания эффектов «дрожания»,
медленных поворотов и т.д.

Низкочастотный фильтр используется для нахождения ориентации устройства, высокочастотный — для определения тряски.

Самый простой низкочастотный фильтр реализует следующий код:

Самый простой высокочастотный фильтр реализует следующий код:

Пример 2. AccelerometrGraph

Отличная программа для исследования работы акселерометра — показывает изменение значений по трем координатам. Можно скачать с официального сайта Apple.

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

Пример 3. iBells


iBells (ссылка на appstore) — это развлекательная программа, которая реагирует на дейсвия пользователя и проигрывает звуки колокольчиков.

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

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

Корректное реагирование на тряску можно добиться используя высокочастотный фильтр:

kFilteringFactor — коэффициент «заглушения» реакции на случайные колебания. Этот параметр нужно подбирать индивидуально в зависимости от требований.

Интервал измеряется просто:

Переменная lastPlayedTime фиксирует время последнего проигрывания, minTimeDelta — минимальный промежуток, по истечению которого можно проигрывать музыкальный файл.

Недавно я нашел еще один способ определить тряску:

Использование акселерометра в веб-приложениях

В Safari был добавлен новый метод onorientationchange, который срабатывает при изменении положения на 90%. Ниже приведен javascript код, с помощью которого можно менять положение (orientation) веб-страницы.

Примеры веб-страницы можно посмотреть здесь и здесь.

Акселерометр и симулятор

По понятным причинам тестировать приложения в симуляторе не представляется возможным. Для этого нужно использовать реальное устройство.

По ссылке можно посмотреть (а здесь скачать), как все таки можно передавать данные в симулятор. Но, так как там все равно используется реальное устройство, практической
пользы в этом нет. Just for fun.

Ссылки и дополнительные материалы

P. S. Автор статьи Александр Краковецкий (sashaeve), пожалуйста дайте ему инвайт спасибо Speakus за инвайт.

Источник

Оцените статью