Физические основы работы акселерометра
Если пользователь держит мобильное устройство в руке прямо, т.е. в портретной ориентации, акселерометр обнаруживает и сообщает о том, что данное устройство испытывает силу земного притяжения около 1 g по оси у его вращения.
Если пользователь держит мобильное устройство под углом, то сила земного притяжения около 1 g распределяется по разным осям его вращения в зависимости от положения данного устройства в руке пользователя. Так, если пользователь держит мобильное устройство под углом 45°, то сила тяжести 1 g приблизительно равномерно распределяется по двум осям вращения данного устройства.
Резкое движение может быть обнаружено по показаниям акселерометра, значительно превышающим 1 д. В обычных условиях эксплуатации мобильного устройства акселерометр не обнаруживает силу тяжести, значительно превышающую 1 д по любой оси вращения. Но если тряхнуть, уронить или бросить мобильное устройство, акселерометр обнаружит увеличение силы тяжести по одной или более оси. Для проверки этого теоретического положения на практике не вздумайте бросать или ронять свое мобильное устройство, работающее под управлением системы iOS!
На графическое представление трёхкоординатной системы, применяемой в акселерометре. Обратите внимание на то, что в акселерометре используется более стандартное условное обозначение координаты у, которая увеличивается вверх, обозначая повышение силы тяжести, в отличие от системы координат библиотеки Quartz 2D, рассматривавшейся . Если же выбрать библиотеку OpenGL ES, в большей степени пригодную для разработки приложений, в которых показания акселерометра используются для управления анимацией, то никакого преобразования координат не потребуется.
Как упоминалось ранее, в iPhone 4 встроен также гироскопический датчик, дающий показания, обозначающие углы вращения этого мобильного устройства вокруг его осей.
Для того чтобы отличия в назначении этого датчика от акселерометра стали более понятными, рассмотрим устройство iPhone в лежачем положении на столе. Если начать поворачивать iPhone по кругу, не поднимая его со стола, показания акселерометра не изменятся, поскольку силы, вызывающие перемещение iPhone, не меняются (в данном случае — это сила тяжести, направленная прямо вниз по оси ). (В действительности дело обстоит немного сложнее: движение рукой, приводящее iPhone во вращение, скорее всего, вызовет незначительную реакцию со стороны акселерометра.) Но в течение того же самого движения углы вращения iPhone будут изменяться и, в частности, при вращении относительно оси z.
- Дата: 26-01-2015, 10:40