البوصلة (compass) في الهاتف الذكي عبارة عن مستشعر رقمي يعتمد على مقياس المغناطيسية يحدد الاتجاه نحو الأقطاب المغناطيسية للأرض. تتيح هذه التقنية لتطبيقات الملاحة ورسم الخرائط والواقع المعزز تحديد اتجاه الجهاز في الفضاء بدقة. وفقًا لـ STMicroelectronics, 2025، توفر مقاييس المغناطيسية MEMS الحديثة دقة في تحديد الاتجاه تصل إلى 1–2 درجة.
النقاط الرئيسية
البوصلة الرقمية في الهاتف الذكي هي مستشعر يعتمد على مقياس المغناطيسية يقيس شدة المجال المغناطيسي للأرض ويحدد السمت (الزاوية بالنسبة للشمال المغناطيسي). على عكس البوصلة الميكانيكية، تستخدم البوصلة الرقمية الأنظمة الكهروميكانيكية الدقيقة (MEMS) للكشف عن المجال المغناطيسي. يقيس مقياس المغناطيسية المجال على ثلاثة محاور، مما يسمح بتحديد الاتجاه بشكل صحيح في أي ميل للهاتف.
مقياس المغناطيسية MEMS الحديث عبارة عن شريحة دقيقة بحجم 2×2×1 مم مدمجة في جسم الهاتف الذكي مع مقياس التسارع والجيروسكوب (كجزء من وحدة قياس القصور الذاتي 9 محاور). لا يقيس المستشعر الاتجاه فحسب، بل يقيس أيضًا شدة المجال المغناطيسي للأرض (25–65 ميكروتسلا حسب خط العرض). وجود الأجسام المعدنية والمجالات المغناطيسية الطفيلية من مكبرات الصوت ومotor الاهتزاز والكاميرا يخلق تشوهات، لذلك يلزم تصحيح برمجي للقراءات للتشغيل الدقيق.
ظهرت أول بوصلة رقمية في الهواتف المحمولة في عام 2009 مع إطلاق iPhone 3GS — أول هاتف ذكي مزود بمقياس مغناطيسية مدمج. اليوم، يتم تركيب مقاييس المغناطيسية في الغالبية العظمى من الهواتف الذكية، بما في ذلك الموديلات الاقتصادية. وفقًا لـ Yole Group، يتجاوز سوق مقاييس المغناطيسية MEMS للأجهزة المحمولة 1.5 مليار وحدة سنويًا، مما يؤكد الطلب على هذه التقنية.
أساس مقياس المغناطيسية MEMS هو عنصر استشعار يغير خصائصه الكهربائية تحت تأثير مجال مغناطيسي خارجي. تستخدم الهواتف الذكية الحديثة تأثير هول أو تأثير المغناطيسية المقاومة (AMR — المقاومة المغناطيسية المتباينة). يعتمد المبدأ على أن المادة الحاملة للتيار تغير مقاومتها عند التعرض لمجال مغناطيسي، ويتم حساب متجه المجال المغناطيسي من تغير الجهد.
تكتشف مستشعرات تأثير هول تغيرات الجهد على حواف رقاقة شبه موصلة ناتجة عن قوة لورنتز على الشحنات المتحركة. تستخدم مستشعرات المقاومة المغناطيسية (AMR) طبقة من البيرمالوي (NiFe) تعتمد مقاومتها على اتجاه المجال المغناطيسي. توفر مستشعرات AMR حجمًا أصغر وحساسية أعلى مقارنة بمستشعرات هول، لذلك فهي تهيمن على الهواتف الذكية الحديثة.
| النوع | الحساسية | استهلاك الطاقة | الحجم |
|---|---|---|---|
| هول | متوسطة | منخفض | متوسط |
| AMR | عالية | منخفض | صغير |
| GMR | عالية جدًا | متوسط | صغير |
يتم دمج بيانات مقياس المغناطيسية مع قراءات مقياس التسارع لتصحيح الميل وتحديد الاتجاه نحو الشمال في المستوى الأفقي. تستخدم خوارزمية دمج المستشعرات مرشح Madgwick أو مرشح كالمان لدمج بيانات مقياس المغناطيسية والجيروسكوب ومقياس التسارع. يوفر ذلك سمتًا ثابتًا ودقيقًا حتى أثناء الدوران السريع واهتزاز الجهاز.
في صناعة الهواتف المحمولة، تُستخدم ثلاثة أنواع رئيسية من مقاييس المغناطيسية MEMS: تأثير هول، والمقاومة المغناطيسية المتباينة (AMR)، والمقاومة المغناطيسية العملاقة (GMR). مقاييس المغناطيسية AMR هي الأكثر استخدامًا في الهواتف الذكية بفضل توازنها الأمثل بين الحساسية واستهلاك الطاقة والتكلفة. أبرز المصنعين هم AKM (Asahi Kasei Microdevices) و STMicroelectronics و Bosch Sensortec.
حساسية مقياس المغناطيسية AMR في الهاتف الذكي النموذجي تبلغ 0.3–1 ميكروتسلا مع نطاق ديناميكي يبلغ ±1000 ميكروتسلا (±8 غاوس)، وهو ما يكفي لقياس المجال الأرضي بدقة (30–65 ميكروتسلا) وتعويض المجالات الطفيلية. يمكن أن يصل معدل أخذ العينات للمستشعر إلى 100–200 هرتز، لكن معظم التطبيقات تستخدم 10–50 هرتز لتوفير الطاقة. يتم تنفيذ التعويض التلقائي لدرجة الحرارة وتشوهات الهيكل على مستوى برنامج تشغيل المستشعر.
معايرة البوصلة هي عملية تعويض المجالات المغناطيسية الطفيلية الناتجة عن مكونات الهاتف الذكي: مكبرات الصوت ومotor الاهتزاز والكاميرا والبطارية. بدون معايرة، يمكن أن تنحرف قراءات مقياس المغناطيسية عن الاتجاه الحقيقي بمقدار 10–30 درجة. يحدد نظام المعايرة مصفوفة الإزاحة (انحياز الحديد الصلب) على ثلاثة محاور ويطبقها لتصحيح جميع القياسات اللاحقة.
الطريقة القياسية لـ معايرة البوصلة هي رسم «8»: يقوم المستخدم بتدوير الهاتف الذكي على مسار يشبه الرقم 8. أثناء الحركة، يسجل المستشعر المجال المغناطيسي في جميع الاتجاهات الممكنة، وتقوم الخوارزمية بتجميع النقاط وتقريب كرة ذات مركز منزوع عن الصفر. يتوافق نصف قطر الكرة مع مقدار المجال المغناطيسي للأرض، ويمثل المركز متجه الإزاحة الطفيلية. بعد التقريب، يحسب النظام معاملات التصحيح لكل محور.
خوارزميات المعايرة الحديثة من Qualcomm و MediaTek تقوم بالمعايرة المستمرة في الخلفية دون تدخل المستخدم. تحلل تغيرات المجال المغناطيسي أثناء دوران الجهاز وتقوم بتحديث معاملات التصحيح تلقائيًا. إذا اكتشف المستشعر مجالًا طفيليًا جديدًا (على سبيل المثال، عند وضع غطاء مغناطيسي)، يبدأ النظام إعادة المعايرة خلال 1–2 ثانية من الحركة المستمرة للجهاز.
تُستخدم البوصلة الرقمية في مجموعة واسعة من التطبيقات المحمولة. الاستخدام الأساسي هو في خدمات الملاحة ورسم الخرائط (Google Maps و Yandex.Maps و 2GIS) التي تحدد اتجاه الجهاز على الخريطة لعرض اتجاه سير المستخدم بشكل صحيح. في تطبيقات الواقع المعزز (AR)، تضمن البوصلة الموضع الصحيح للعناصر الافتراضية بالنسبة لاتجاهات البوصلة.
في تطبيقات الفلك (Star Walk، SkySafari)، تحدد البوصلة المقترنة بمقياس التسارع الاتجاه الذي يشير إليه الهاتف الذكي وتظهر المنطقة المقابلة من سماء الليل. تستخدم تطبيقات الصيد والسياحة البوصلة لتحديد نقاط الاهتمام على الخريطة مع مرجع السمت. يستخدم تتبع اللياقة البدنية عبر GPS قراءات البوصلة لتحديد اتجاه الجري أو ركوب الدراجات، مما يحسن دقة عرض المسار.
للوصول إلى البوصلة الرقمية على Android، يُستخدم المستشعر TYPE_MAGNETIC_FIELD من Sensor API. يسجل المطورون مستمعًا لتغييرات قراءات مقياس المغناطيسية ويتلقون مصفوفة من قيم شدة المجال المغناطيسي على ثلاثة محاور بالميكروتسلا. لتحديد السمت، يتم دمج بيانات مقياس المغناطيسية مع بيانات مقياس التسارع عبر مصفوفة دوران باستخدام دمج المستشعرات.
import android.hardware.Sensor
import android.hardware.SensorEvent
import android.hardware.SensorEventListener
import android.hardware.SensorManager
class CompassManager(
private val sensorManager: SensorManager
) : SensorEventListener {
private val magnetometer = FloatArray(3)
private val accelerometer = FloatArray(3)
private val rotationMatrix = FloatArray(9)
private val orientation = FloatArray(3)
override fun onSensorChanged(event: SensorEvent) {
if (event.sensor.type == Sensor.TYPE_MAGNETIC_FIELD) {
event.values.copyInto(magnetometer)
} else if (event.sensor.type == Sensor.TYPE_ACCELEROMETER) {
event.values.copyInto(accelerometer)
}
SensorManager.getRotationMatrix(
rotationMatrix, null,
accelerometer, magnetometer
)
SensorManager.getOrientation(rotationMatrix, orientation)
val azimuth = Math.toDegrees(orientation[0].toDouble())
// السمت: 0 = شمال، 90 = شرق، 180 = جنوب، 270 = غرب
}
fun start() {
sensorManager.registerListener(this,
sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD),
SensorManager.SENSOR_DELAY_UI)
sensorManager.registerListener(this,
sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
SensorManager.SENSOR_DELAY_UI)
}
override fun onAccuracyChanged(sensor: Sensor?, accuracy: Int) {}
}
السمت الذي يتم الحصول عليه عبر getOrientation يُقاس بالراديان ويمكن أن يأخذ قيمًا من -π إلى π، حيث 0 يتوافق مع الشمال المغناطيسي. للعرض على الشاشة، يتم تحويل القيم إلى درجات (Math.toDegrees) مع تسوية للنطاق 0–360. من المهم مراعاة الانحراف المغناطيسي — الزاوية بين الشمال المغناطيسي والحقيقي (الجغرافي)، والتي تعتمد على الموقع الجغرافي وتتغير بمرور الوقت. تقوم Google Maps بضبط الانحراف تلقائيًا عبر GeomagneticField API.
الأسئلة الشائعة
البوصلة الرقمية تستخدم مقياس مغناطيسية MEMS — شريحة بحجم 2×2 مم تقيس المجال المغناطيسي للأرض على ثلاثة محاور. يتم دمج بيانات مقياس المغناطيسية مع قراءات مقياس التسارع لتحديد السمت — الزاوية بين اتجاه الشمال واتجاه الجهاز.
غالبًا ما تكون قراءات البوصلة الخاطئة ناتجة عن نقص المعايرة أو التداخل المغناطيسي من مكبرات الصوت أو motor الاهتزاز أو الأغطية المغناطيسية. الحل هو إجراء حركة معايرة على شكل «8» أو إزالة الملحقات المغناطيسية. إذا استمرت الأخطاء، قد يلزم فحص المستشعر.
نعم، معايرة البوصلة ضرورية لتعويض المجالات المغناطيسية الطفيلية داخل الهاتف الذكي. في معظم الأجهزة الحديثة، تتم المعايرة تلقائيًا في الخلفية. للمعايرة اليدوية، ارسم «8» بالهاتف في الهواء — سيجمع النظام البيانات من جميع الزوايا ويصحح القراءات.
على Android، يتم الوصول إلى البوصلة عبر Sensor API باستخدام المستشعر TYPE_MAGNETIC_FIELD. يتم حساب السمت عبر SensorManager.getRotationMatrix() و getOrientation()، اللذين يدمجان بيانات مقياس المغناطيسية ومقياس التسارع. يمكن تكييف السمت الناتج للعرض على الشاشة.
البوصلات الأكثر دقة مثبتة في الهواتف الذكية المزودة بمستشعر IMU ثلاثي (مقياس مغناطيسية + جيروسكوب + مقياس تسارع) ونظام معايرة نشط. تتصدر النماذج الرائدة Google Pixel و Samsung Galaxy S-series و iPhone Pro — فهي تستخدم مقاييس مغناطيسية AKM و Bosch بحساسية 0.3 ميكروتسلا وتصحيح تلقائي.
الخلاصة
سنقوم بتطوير تطبيق جوال جاهز
تقدم IT Sectr تطبيقات iOS وAndroid للشركات الناشئة والشركات منذ عام 2017. سوف نقدم لك النصح ونقترح أفضل حل.
اقرأ أيضًا