
نسخة 1.0.0
المستشعر LSM9DS1 إنها وحدة قياس بالقصور الذاتي متطورة تتضمن مقياس التسارع، الجيروسكوب ومقياس المغناطيسية، كل ذلك في شريحة واحدة. يعتبر هذا المستشعر متعدد الاستخدامات للغاية ويُستخدم في المشاريع التي تتطلب قياس الحركة والاتجاه في الفضاء ثلاثي الأبعاد. وهو شائع في التطبيقات مثل أجهزة الملاحة، والتحكم في الحركة في الروبوتات، وأنظمة الواقع المعزز.
في هذا الدليل، سوف نستكشف بالتفصيل كيفية عمله وكيفية دمجه مع اردوينو وما هي الجوانب التي يجب مراعاتها عند تفسير قراءاتك؟ بالإضافة إلى ذلك، سوف نتعلم كيفية برمجته باستخدام مكتبات محددة لتحقيق أقصى استفادة من إمكانياته.
ميزات المستشعر LSM9DS1
LSM9DS1 هو جهاز استشعار 9 درجات من الحرية (9DOF)، مما يعني أنه يمكنه قياس الحركة في ثلاثة محاور باستخدام ثلاثة أجهزة استشعار مختلفة:
- مقياس التسارع: يقيس التسارع على المحاور X وY وZ، مما يسمح باكتشاف الميل والسرعة.
- جيروسكوب: يقيس السرعة الزاوية في جميع المحاور الثلاثة، وهو أمر مفيد لاكتشاف التغييرات في الاتجاه.
- مقياس المغناطيسية: يسمح بتحديد اتجاه المجال المغناطيسي للأرض، ويعمل كبوصلة رقمية.
تتواصل هذه الوحدة مع المتحكم الدقيق عبر I2C أو SPI ويقدم نطاقات قياس مختلفة لكل مستشعر:
- مقياس التسارع: ±2 جرام، ±4 جرام، ±8 جرام، ±16 جرام
- جيروسكوب: ±245 نقطة في الثانية، ±500 نقطة في الثانية، ±2000 نقطة في الثانية
- مقياس المغناطيسية: ±4 جاوس، ±8 جاوس، ±12 جاوس، ±16 جاوس
ربط LSM9DS1 مع Arduino
لاستخدام مستشعر LSM9DS1 مع اردوينويتعين علينا إجراء الاتصال المادي باستخدام بروتوكول الاتصال المناسب. يسمح هذا المستشعر بطريقتين للاتصال:
الاتصال عبر I2C
إذا استخدمنا الواجهة I2Cسنقوم بتوصيل دبابيس المستشعر على النحو التالي:
- VCC: 3.3V
- GND: غند
- SDA:A4 على لوحات تعتمد على ATmega328P (Arduino Uno(، نانو، الخ)
- SCL:A5 على لوحات ATmega328P
الاتصال عبر SPI
في حالة استخدام SPIسيتم توصيلها على النحو التالي:
- VCC: 3.3V
- GND: غند
- MOSI: د11
- ميسو: د12
- SCLK: د13
- CS:دبوس رقمي قابل للتحديد
تثبيت المكتبة والكود الأول
لتسهيل استخدام LSM9DS1يحتوي Arduino على مكتبة رسمية يمكننا تثبيتها من مدير المكتبة. فقط ابحث «Arduino_LSM9DS1» وتثبيته.
بمجرد التثبيت، يمكننا تحميل كود الاختبار التالي:
#include void setup() {Serial.begin(115200);while (!Serial);if (!IMU.begin()) {Serial.println("Error al iniciar el IMU.");while (1);}}void loop() {float x, y, z;if (IMU.magneticFieldAvailable()) {IMU.readMagneticField(x, y, z);Serial.print("Campo magnetico: ");Serial.print(x); Serial.print(", ");Serial.print(y); Serial.print(", ");Serial.println(z);}delay(500);}
يقرأ هذا الكود حقل مغناطيسي تم اكتشافه بواسطة مقياس المغناطيسية وعرضه على الشاشة التسلسلية.
تفسير القيم التي تم الحصول عليها
البيانات التي حصل عليها LSM9DS1 وهي قيم عددية تمثل قياسات فيزيائية حقيقية:
- مقياس التسارع إرجاع القيم بوحدة g (جاذبية الأرض).
- الجيروسكوب يقيس السرعة الزاوية بوحدة dps (درجات في الثانية).
- المقياس المغناطيسي يقيس شدة المجال المغناطيسي بالميكروتسلا (µT).
لدمج هذه البيانات في مشروع حقيقي، فمن المستحسن تطبيق تقنيات مثل دمج المستشعرات باستخدام مرشحات كالمان أو المرشحات التكميلية.
تطبيقات LSM9DS1
يمكن استخدام هذا المستشعر في مجموعة واسعة من المشاريع، مثل:
- البوصلات الرقمية:استخدام قيم المغناطيسية لتحديد الاتجاه.
- أنظمة الملاحة:الجمع بين مقياس التسارع والجيروسكوب لقياس الإزاحات.
- التحكم في الحركة:في الروبوتات وأجهزة الواقع الافتراضي لاكتشاف الميل والدوران.
بفضل تنوعها، فإن LSM9DS1 وهي أداة أساسية في تصميم المشاريع التي تتطلب معرفة دقيقة بالحركة والاتجاه.
يعد LSM9DS1 خيارًا ممتازًا لقياس الحركة والاتجاه بدقة عالية. تكامله مع اردوينو إنه أمر بسيط بفضل المكتبات المحددة، والتي تسمح بالحصول على بيانات في الوقت الفعلي تسارع, تناوب y حقل مغناطيسي. باستخدام المعايرة المناسبة وتفسير البيانات، يمكن تطوير تطبيقات متقدمة في مجال الروبوتات والملاحة والتفاعل مع البيئة.