إذا كنت تتطلع إلى دمج مستشعر 9 درجات حرية (9-DOF) في مشاريع Arduino الخاصة بك، فقد وصلت إلى المكان الصحيح. هذه الأجهزة مفيدة للغاية لقياس الاتجاه والتسارع والدوران في الفضاء ثلاثي الأبعاد. في هذه المقالة، سنستكشف بدقة كيفية استخدام Adafruit 9-DOF واتصالاته وتكوينه مع Arduino.
9- تجمع مستشعرات DOF بين ثلاثة أنواع مختلفة من المستشعرات: مقاييس التسارع، ومقاييس المغناطيسية، والجيروسكوبات. وهذا يجعلها أدوات أساسية للتتبع الدقيق للتوجهات والحركات. باستخدام هذه التعليمات، يمكنك البدء في استخدام مستشعر Adafruit 9-DOF مع Arduino بسرعة وكفاءة.
ما هو مستشعر 9 درجات حرية (9-DOF)؟
يحتوي مستشعر 9-DOF على ثلاثة مستشعرات في جهاز واحد: أ التسارعل مقياس المغناطيسية وعلى جيروسكوب. يقيس مقياس التسارع التسارع في ثلاثة محاور، مما يسمح له باكتشاف الاتجاه بالنسبة للجاذبية. يكتشف مقياس المغناطيسية المجال المغناطيسي، وهو مفيد في تحديد اتجاه الشمال المغناطيسي. وأخيرًا، يقيس الجيروسكوب الدوران الزاوي.
تجتمع هذه المستشعرات الثلاثة لتقدم أ تصور ثلاثي الأبعاد للحركة والتوجيه، مما يجعلها مثالية لتطبيقات مثل الروبوتات أو الطائرات بدون طيار أو الأجهزة القابلة للارتداء.
ربط حساس 9-DOF مع الاردوينو
بمجرد حصولك على المستشعر، فإن الخطوة التالية هي توصيله بلوحة Arduino الخاصة بك. إذا كنت تخطط لاستخدام واجهة I2C، وهو الأكثر شيوعًا، يحتوي مستشعر Adafruit 9-DOF على عنوان I2C افتراضي وهو 0x69. ومع ذلك، يمكنك أيضًا تغييره إلى 0x68 عن طريق توصيل دبوس العنوان بـ GND.
الاتصال عبر I2C
عملية الاتصال سهلة. باستخدام موصل STEMMA QT أو اللوح لحام، عليك ببساطة مطابقة دبابيس الطاقة والبيانات. إذا كنت تستخدم موصل STEMMA، فأنت تحتاج فقط إلى توصيله بمنافذ I2C (SCL وSDA).
استخدم مستشعر 9-DOF مع SPI
إذا كنت تفضل استخدام واجهة SPI، فستحتاج إلى تمكين دبابيس CS وSCK وMOSI وMISO للاتصال، بالإضافة إلى تحديد الإعدادات في الكود.
قم بتثبيت المكتبات اللازمة على الاردوينو
لكي يعمل مستشعر Adafruit بشكل صحيح مع Arduino، ستحتاج إلى تثبيت عدة مكتبات. أول شيء تحتاجه هو مكتبة أدافروت ICM20X، وهو متوافق مع أجهزة الاستشعار ICM20948 وICM20649. لتثبيته، افتح مدير المكتبة في Arduino IDE وابحث عن "Adafruit ICM20X".
بالإضافة إلى ذلك، سيكون عليك أيضًا تثبيت مكتبة Adafruit BusIO و مكتبة مستشعرات Adafruit الموحدة.
رمز المثال لمستشعر Adafruit 9-DOF
بمجرد توصيل كل شيء وتثبيت المكتبات الضرورية، يمكنك تحميل أحد الأمثلة للتأكد من أن كل شيء يعمل بشكل جيد. اذهب الى ملف -> أمثلة -> Adafruit ICM20X وحدد الاختبار المتوافق مع المستشعر الخاص بك.
سيطبع هذا المثال قيمًا مثل درجة الحرارةوكذلك القيم على المحاور X وY وZ من الجيروسكوب ومقياس التسارع ومقياس المغناطيسية. يمكنك التحقق من النتيجة على الشاشة التسلسلية المعينة على 115200 باود.
مثال أساسي للقياسات باستخدام ICM20948
#include <Adafruit_ICM20X.h>#include <Adafruit_ICM20948.h>#include <Adafruit_Sensor.h>#include <Wire.h>
سيسمح لك الكود الموجود في أمثلة المكتبة بالحصول على الأحداث من أجهزة الاستشعار المختلفة. ومع ذلك، بالنسبة للمشاريع الأكثر تقدمًا، يمكنك تعديل إعدادات نطاق الحساسية لكل من مقياس التسارع والجيروسكوب وفقًا لاحتياجاتك.
كيفية عمل تقارير التدوير على حساس BNO085
إذا كنت تستخدم، بالإضافة إلى مستشعرات ICM20948، مستشعر 9-DOF مثل بنو085، وهذا يسمح لك بالتوليد تقارير التناوبوهو أمر مهم للحصول على بيانات أكثر تفصيلاً حول التوجه في الحركات المعقدة.
من التفاصيل المهمة التي يجب أن تضعها في اعتبارك أن هذا المستشعر يتطلب وحدة تحكم دقيقة سعة ذاكرة أكبر، مثل SAMD21 أو SAMD51 أو nRF52. لا يُنصح باستخدام لوحات Arduino الأساسية مثل Uno أو Leonardo، لأنها لا تحتوي على ذاكرة وصول عشوائي كافية.
بالإضافة إلى ذلك، يستخدم BNO085 تنفيذًا خاصًا لـ I2C لا تدعمه جميع الأنظمة. على سبيل المثال، لا يعمل هذا المستشعر بشكل صحيح مع شرائح مثل ESP32 أو مع معددات I2C. ومع ذلك، فإن تشغيله موثوق تمامًا على منصات مثل RP2040 أو STM32F4 أو SAMD51.
تصميم ومميزات الاختراق LSM9DS1
يعد مستشعر LSM9DS9 1-DOF مثاليًا لتتبع الاتجاه والحركة بسعر أقل مقارنة بأجهزة الاستشعار المماثلة الأخرى. فهو يدمج العديد من نطاقات القياس التي تسمح لك بضبط مستوى الدقة المطلوبة لمشروعك.
يحتوي هذا المستشعر على واجهة I2C y SPIمما يجعلها متعددة الاستخدامات لمنصات التطوير المختلفة. يمكنك توصيله بسهولة إلى Arduino، مما يوفر جهدًا يتراوح بين 3 و5V وتوصيل منافذ I2C عليه SCL y SDA.
الاختلافات مع LSM9DS0
أحد الاختلافات الرئيسية يكمن في نطاقات التسارع، والتي تكون في LSM9DS1 ±2 و±4 و±8 و±16 جم، بينما تتضمن المستشعرات الأخرى مثل LSM9DS0 نطاقًا إضافيًا يبلغ ±6 جم.
ماذا يمكنك أن تفعل بمستشعر Adafruit 9-DOF؟
يعتبر هذا النوع من أجهزة الاستشعار مثاليًا لتطوير مشاريع مثل الروبوتات المستقلةوأنظمة الملاحة والأجهزة القائمة على الإيماءات. ومن خلال معلومات التسارع والدوران والتوجيه التي يوفرها، يمكنك إنشاء جهاز يتتبع الحركات المعقدة بدقة.