Страницы

Поиск по вопросам

пятница, 27 декабря 2019 г.

Измерение магнитной индукции сенсорами смартфона

#c_sharp #windows #uwp #windows_10 #windows_phone_8


Я не сильна в физике и, в связи с этим, у меня возник вопрос о том, как программно
реализовать измерение магнитной индукции сенсорами мобильных устройств? В частности,
как можно реализовать это на устройствах на базе Windows Phone и Windows 10 Mobile?
    


Ответы

Ответ 1



К магнитометру на Windows 10 Mobile можно легко получить доступ с помощью такого простого кода: var magnetometer = Windows.Devices.Sensors.Magnetometer.GetDefault(); if (magnetometer != null) { magnetometer.ReportInterval = 500; magnetometer.ReadingChanged += (Magnetometer sender, MagnetometerReadingChangedEventArgs args) => { System.Diagnostics.Debug.WriteLine("X: {0} Y: {1} Z:{2}", args.Reading.MagneticFieldX, args.Reading.MagneticFieldY, args.Reading.MagneticFieldZ); }; } Как из данного вектора получить гауссы или теслы, оставлю для исследования Вам. Проверял на Lumia 950, подносил неодимовый магнит (достаточно мощный), магнитометр начинает реагировать на него сантиметров с 15, но данные меняются немного стохастически (но меняются 100%). С большой степенью вероятности, будет работать и на других W10M телефонах. Касательно же точности и чувствительности сенсора, встроенного в телефон, я не уверен (нет данных); если есть потребность в высокой точности, то, боюсь, придется использовать внешний высокоточный сенсор с микрокопьютером типа RaspberyPi (а связь с телефоном организовать через TCP/IP или BT).

Комментариев нет:

Отправить комментарий