![تتبع الحركة باستخدام MPU-6000 و Arduino Nano: 4 خطوات تتبع الحركة باستخدام MPU-6000 و Arduino Nano: 4 خطوات](https://i.howwhatproduce.com/images/001/image-353-34-j.webp)
جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-23 12:53
![Image Image](https://i.howwhatproduce.com/images/001/image-353-36-j.webp)
![](https://i.ytimg.com/vi/4r1ns21i090/hqdefault.jpg)
MPU-6000 عبارة عن مستشعر تتبع للحركة من 6 محاور يحتوي على مقياس تسارع ثلاثي المحاور وجيروسكوب ثلاثي المحاور مضمن فيه. هذا المستشعر قادر على التتبع الفعال للموضع الدقيق وموقع كائن ما في المستوى ثلاثي الأبعاد. يمكن استخدامه في الأنظمة التي تتطلب تحليل الموقع بأعلى دقة.
في هذا البرنامج التعليمي ، تم توضيح واجهة وحدة الاستشعار MPU-6000 مع اردوينو نانو. لقراءة قيم التسارع وزاوية الدوران ، استخدمنا اردوينو نانو مع محول I2c ، يجعل هذا المحول I2C الاتصال بوحدة المستشعر أسهل وأكثر موثوقية.
الخطوة 1: الأجهزة المطلوبة:
![الأجهزة المطلوبة الأجهزة المطلوبة](https://i.howwhatproduce.com/images/001/image-353-37-j.webp)
![الأجهزة المطلوبة الأجهزة المطلوبة](https://i.howwhatproduce.com/images/001/image-353-38-j.webp)
![الأجهزة المطلوبة الأجهزة المطلوبة](https://i.howwhatproduce.com/images/001/image-353-39-j.webp)
تشمل المواد التي نحتاجها لتحقيق هدفنا مكونات الأجهزة التالية:
1. MPU-6000
2. اردوينو نانو
3. كابل I2C
4. I2C Shield لاردوينو نانو
الخطوة 2: ربط الأجهزة:
![ربط الأجهزة ربط الأجهزة](https://i.howwhatproduce.com/images/001/image-353-40-j.webp)
![ربط الأجهزة ربط الأجهزة](https://i.howwhatproduce.com/images/001/image-353-41-j.webp)
يشرح قسم توصيل الأجهزة بشكل أساسي اتصالات الأسلاك المطلوبة بين المستشعر واردوينو نانو. يعد التأكد من التوصيلات الصحيحة ضرورة أساسية أثناء العمل على أي نظام للإخراج المطلوب. إذن ، الاتصالات المطلوبة هي كما يلي:
سيعمل MPU-6000 فوق I2C. فيما يلي مثال على مخطط الأسلاك ، يوضح كيفية توصيل كل واجهة من أجهزة الاستشعار.
خارج الصندوق ، تم تكوين اللوحة لواجهة I2C ، لذلك نوصي باستخدام هذا التوصيل إذا كنت غير مدرك.
كل ما تحتاجه هو أربعة أسلاك! مطلوب أربعة اتصالات فقط دبابيس Vcc و Gnd و SCL و SDA ويتم توصيلها بمساعدة كابل I2C.
هذه الوصلات موضحة في الصور أعلاه.
الخطوة الثالثة: رمز تتبع الحركة:
![كود تتبع الحركة كود تتبع الحركة](https://i.howwhatproduce.com/images/001/image-353-42-j.webp)
لنبدأ بكود اردوينو الآن.
أثناء استخدام وحدة الاستشعار مع اردوينو ، نقوم بتضمين مكتبة Wire.h. تحتوي مكتبة "Wire" على الوظائف التي تسهل اتصال i2c بين المستشعر ولوحة اردوينو.
يتم تقديم كود اردوينو بالكامل أدناه لراحة المستخدم:
#يشمل
// عنوان MPU-6000 I2C هو 0x68 (104)
#define العنوان 0x68
الإعداد باطل()
{
// تهيئة اتصال I2C كسيد
Wire.begin () ؛
// تهيئة الاتصال التسلسلي ، اضبط معدل الباود = 9600
Serial.begin (9600) ؛
// بدء نقل I2C
Wire.beginTransmission (العنوان) ؛
// حدد سجل تكوين جيروسكوب
Wire.write (0x1B) ؛
// نطاق المقياس الكامل = 2000 نقطة في الثانية
Wire.write (0x18) ؛
// إيقاف انتقال I2C
Wire.endTransmission () ؛
// بدء نقل I2C
Wire.beginTransmission (العنوان) ؛
// حدد سجل تكوين مقياس التسارع
Wire.write (0x1C) ؛
// نطاق المقياس الكامل = +/- 16 جم
Wire.write (0x18) ؛
// إيقاف انتقال I2C
Wire.endTransmission () ؛
// بدء نقل I2C
Wire.beginTransmission (العنوان) ؛
// حدد سجل إدارة الطاقة
Wire.write (0x6B) ؛
// PLL مع إشارة xGyro
Wire.write (0x01) ؛
// إيقاف انتقال I2C
Wire.endTransmission () ؛
تأخير (300) ؛
}
حلقة فارغة()
{
بيانات int غير الموقعة [6] ؛
// بدء نقل I2C
Wire.beginTransmission (العنوان) ؛
// حدد سجل البيانات
Wire.write (0x3B) ؛
// إيقاف انتقال I2C
Wire.endTransmission () ؛
// طلب 6 بايت من البيانات
Wire.request From (Addr، 6) ؛
// قراءة 6 بايت من البيانات
إذا (Wire.available () == 6)
{
البيانات [0] = Wire.read () ،
البيانات [1] = Wire.read () ،
البيانات [2] = Wire.read () ؛
البيانات [3] = Wire.read () ؛
البيانات [4] = Wire.read () ؛
البيانات [5] = Wire.read () ؛
}
// تحويل البيانات
int xAccl = بيانات [0] * 256 + بيانات [1] ؛
int yAccl = بيانات [2] * 256 + بيانات [3] ؛
int zAccl = بيانات [4] * 256 + بيانات [5] ؛
// بدء نقل I2C
Wire.beginTransmission (العنوان) ؛
// حدد سجل البيانات
Wire.write (0x43) ؛
// إيقاف انتقال I2C
Wire.endTransmission () ؛
// طلب 6 بايت من البيانات
Wire.request From (Addr، 6) ؛
// قراءة 6 بايت من البيانات
إذا (Wire.available () == 6)
{
البيانات [0] = Wire.read () ،
البيانات [1] = Wire.read () ،
البيانات [2] = Wire.read () ؛
البيانات [3] = Wire.read () ؛
البيانات [4] = Wire.read () ؛
البيانات [5] = Wire.read () ؛
}
// تحويل البيانات
int xGyro = بيانات [0] * 256 + بيانات [1] ؛
int yGyro = بيانات [2] * 256 + بيانات [3] ؛
int zGyro = بيانات [4] * 256 + بيانات [5] ؛
// إخراج البيانات إلى الشاشة التسلسلية
Serial.print ("تسريع في المحور X:") ؛
Serial.println (xAccl) ؛
Serial.print ("تسريع في المحور ص:") ؛
Serial.println (yAccl) ؛
Serial.print ("تسريع في المحور Z:") ؛
Serial.println (zAccl) ؛
Serial.print ("المحور السيني للدوران:") ؛
Serial.println (xGyro) ؛
Serial.print ("المحور الصادي للدوران:") ؛
Serial.println (yGyro) ؛
Serial.print ("Z- محور الدوران:") ؛
Serial.println (zGyro) ؛
تأخير (500) ؛
}
في مكتبة الأسلاك ، يتم استخدام Wire.write () و Wire.read () لكتابة الأوامر وقراءة إخراج المستشعر.
يتم استخدام Serial.print () و Serial.println () لعرض إخراج المستشعر على الشاشة التسلسلية لـ Arduino IDE.
يظهر خرج المستشعر في الصورة أعلاه.
الخطوة 4: التطبيقات:
![التطبيقات التطبيقات](https://i.howwhatproduce.com/images/001/image-353-43-j.webp)
MPU-6000 عبارة عن مستشعر تتبع الحركة ، والذي يجد تطبيقه في واجهة الحركة للهواتف الذكية والأجهزة اللوحية. في الهواتف الذكية ، يمكن استخدام هذه المستشعرات في تطبيقات مثل أوامر الإيماءات للتطبيقات والتحكم في الهاتف ، والألعاب المحسّنة ، والواقع المعزز ، والتقاط الصور البانورامية وعرضها ، وملاحة المشاة والمركبة. يمكن لتقنية MotionTracking تحويل الهواتف المحمولة والأجهزة اللوحية إلى أجهزة ذكية ثلاثية الأبعاد قوية يمكن استخدامها في تطبيقات تتراوح من مراقبة الصحة واللياقة البدنية إلى الخدمات المستندة إلى الموقع.
موصى به:
DIY الذكية روبوت تتبع مجموعات السيارات تتبع السيارات حساسة للضوء: 7 خطوات
![DIY الذكية روبوت تتبع مجموعات السيارات تتبع السيارات حساسة للضوء: 7 خطوات DIY الذكية روبوت تتبع مجموعات السيارات تتبع السيارات حساسة للضوء: 7 خطوات](https://i.howwhatproduce.com/images/008/image-22349-j.webp)
DIY الذكية روبوت تتبع مجموعات السيارات تتبع السيارات حساس للضوء: التصميم بواسطة SINONING ROBOT يمكنك الشراء من تتبع سيارة الروبوت ، تقارن رقاقة TheoryLM393 بين المقاومين ، عندما يكون هناك جانب واحد من المقاوم الضوئي LED على الأبيض سيتوقف جانب المحرك على الفور ، والجانب الآخر من المحرك تدور ، بحيث
QeMotion - تتبع الحركة لكل سماعة: 5 خطوات (بالصور)
![QeMotion - تتبع الحركة لكل سماعة: 5 خطوات (بالصور) QeMotion - تتبع الحركة لكل سماعة: 5 خطوات (بالصور)](https://i.howwhatproduce.com/images/009/image-25405-j.webp)
QeMotion - تتبع الحركة لكل سماعة رأس!: نظرة عامة: يتيح لك هذا الجهاز الاستفادة من حركة رأسك لإثارة الأحداث في أي لعبة فيديو بشكل أساسي. إنه يعمل عن طريق تتبع حركة رأسك (أو سماعة الرأس التي تتعلق بها) وتشغيل ضغطات لوحة المفاتيح لحركات معينة. لذا شركاتك
عيون حركة تتبع الحركة: 8 خطوات (بالصور)
![عيون حركة تتبع الحركة: 8 خطوات (بالصور) عيون حركة تتبع الحركة: 8 خطوات (بالصور)](https://i.howwhatproduce.com/images/003/image-8662-11-j.webp)
عيون حركة تتبع الحركة: يستخدم مشروع Arduino مستشعر التدفق البصري (ADNS3080) لالتقاط الحركة. ثم قم بترجمة البيانات لتحريك المؤازرة مما يجعلها تبدو وكأن العيون تتبع جسمًا متحركًا
تتبع الحركة ثلاثية الأبعاد من Tfcd من خلال الاستشعار بالسعة وإخراج LED: 6 خطوات (بالصور)
![تتبع الحركة ثلاثية الأبعاد من Tfcd من خلال الاستشعار بالسعة وإخراج LED: 6 خطوات (بالصور) تتبع الحركة ثلاثية الأبعاد من Tfcd من خلال الاستشعار بالسعة وإخراج LED: 6 خطوات (بالصور)](https://i.howwhatproduce.com/images/004/image-9310-22-j.webp)
تتبع الحركة ثلاثية الأبعاد Tfcd من خلال الاستشعار بالسعة وإخراج LED: يتم شرح كيفية تتبع حركة اليد في مساحة ثلاثية الأبعاد باستخدام مبدأ الاستشعار بالسعة. بتغيير المسافة بين ورق الألمنيوم المشحون ويدك ، ستختلف سعة المكثف
منفذ التحكم في الحركة - من ضوء استشعار الحركة: 6 خطوات
![منفذ التحكم في الحركة - من ضوء استشعار الحركة: 6 خطوات منفذ التحكم في الحركة - من ضوء استشعار الحركة: 6 خطوات](https://i.howwhatproduce.com/preview/how-and-what-to-produce/11125349-motion-controlled-outlet-from-a-motion-sensing-light-6-steps-j.webp)
منفذ التحكم في الحركة - من ضوء استشعار الحركة: & nbsp؛ تخيل أنك خدعة أو مخلص تذهب إلى أكثر منزل مخيف في المبنى. بعد تجاوز كل الغول والأشباح والمقابر ، تصل أخيرًا إلى المسار الأخير. يمكنك رؤية الحلوى في وعاء أمامك! ولكن بعد ذلك فجأة