#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).
Комментариев нет:
Отправить комментарий