MIT App Inventor. Magnetic Field Sensor

Очень хороший инструмент для ленивых создателей приложений под Android от MIT — App Inventor. Очень интересный датчик по измерению магнитного поля (было интересно — он у кого-нибудь есть? компас на нем основан?).

Никаких задач решать мне не надо было — просто решил посмотреть, что это за «Magnetic Field Sensor» есть в системе (и есть он вообще)…

В теории, в телефоне может быть Сенсор магнитного поля. Используем невидимый компонент «Magnetic Field Sensor» — расположен в «Сенсоры» (почему-то его не перевели на русский, поэтому — «как есть»).

Из короткого описания сенсора: Non-visible component that measures the ambient geomagnetic field for all three physical axes (x, y, z) in Tesla https://en.wikipedia.org/wiki/Tesla_(unit).

Вытаскиваем сенсор в Дизайнер:В свойствах компонента надо не забыть его включить.

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

Сделаем на форме нужные нам надписи для отображения магнитного поля:

Переходим в Блоки. Ниже привожу рисунок, где показано как получается и отображается информация о магнитном поле при изменении его значения.Используется событие «MagneticChanged». При выполнении его используются реквизиты значений поля по осям и общее (в форме добавил Надпись7, а на рисунке — забыл подправить) — именно из них «вытягивается» получить.xStrength и др.

Неплохо было бы проверить — а есть ли в телефоне нужный нам сенсор?Проверка производится при запуске приложения (инициализации экрана). В случае, если датчик магнитного поля доступен (проверку обвел красным) — фон надписи Magnetic Field будет зеленым…

!!! При проверке оказалось, что в простеньком смартфоне АРК нет такого сенсора — красным светит… 

PS Проверил программу на Xiaomi Redme 3S все сработало как надо: зеленым сказал, что все ОК и показал магнитное поле по всем осям и общее.

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

Ваш e-mail не будет опубликован.

Нажимая кнопку "Отправить" Вы даёте свое согласие на обработку введенной персональной информации в соответствии с Федеральным Законом №152-ФЗ от 27.07.2006 "О персональных данных".