كيفية استخدام وحدة MPU-6050 لمقياس التسارع والجيروسكوب
MPU-6050 هو مستشعر متعدد الاستخدامات يجمع في حزمة واحدة بين مقياس تسارع 3-محاور ومقياس جيروسكوب 3-محاور. في هذا الدرس سنستعرض كيفية توصيل هذه الوحدة بأردوينو لقياس التسارع والسرعة الزاوية. النتيجة ستكون برنامجًا بسيطًا يعرض بيانات المستشعر في الوقت الحقيقي، مما يتيح لك مراقبة كل من التسارع وتوجه جهازك.

باتباع هذا الدليل، ستتعلم كيفية إعداد الأجهزة، وتوصيل المكونات بشكل صحيح، وكتابة الكود اللازم لتشغيل MPU-6050. سيمنحك هذا أساسًا لمشاريع لاحقة تتعلق باستشعار الحركة واكتشاف الاتجاه. لمزيد من الإيضاح، تأكد من مشاهدة الفيديو المصاحب لهذا الدرس (في الفيديو عند 00:00).
شرح الأجهزة
المكون الرئيسي في هذا المشروع هو مستشعر MPU-6050، الذي يوفر بيانات كل من مقياس التسارع والجيروسكوب. يقيس مقياس التسارع التسارع الخطي على طول المحاور X وY وZ، بينما يقيس الجيروسكوب معدلات الدوران حول نفس تلك المحاور. هذا المزيج يجعل من MPU-6050 خيارًا ممتازًا للتطبيقات التي تتطلب تتبع الحركة.
بالإضافة إلى ذلك، تستخدم الوحدة واجهة I2C للاتصال، مما يبسط التوصيلات ويسمح بتوصيل عدة أجهزة على نفس الناقل. يتم تزويد المستشعر بالطاقة عبر دبوس VCC، الذي يتطلب عادةً جهدًا بين 3.3V و5V. يتم توصيل الأرضي بالأرضي المشترك للأردوينو.
تفاصيل ورقة البيانات
| المُصَنِّع | إنفينسينس |
|---|---|
| رقم القطعة | MPU-6050 |
| جهد المنطق/الإدخال والإخراج | 3.3 - 5 فولت |
| جهد التغذية | 3.3 - 5 فولت |
| تيار الإخراج (لكل قناة) | ... |
| التيار الأقصى (لكل قناة) | ... |
| إرشادات تردد PWM | … |
| عتبات منطق الإدخال | ... |
| هبوط الجهد / Rالمصرف-المصدر (عند التشغيل)/ التشبع | ... |
| الحدود الحرارية | ... |
| حزمة | حزمة رباعية مسطحة بلا أطراف |
| ملاحظات / متغيرات | ... |
- قم بتوصيل دبوس VCC بـ 3.3 فولت أو 5 فولت.
- قم بتوصيل دبوس GND بالأرض
- استخدم اتصال I2C عبر SDA (خط البيانات) وSCL (خط الساعة).
- تأكد من وجود مقاومات سحب على خطي SDA وSCL
- تحقق من مستويات الجهد المناسبة لتجنب إتلاف المستشعر.
تعليمات الأسلاك

لتوصيل MPU-6050 بالأردوينو، ابدأ بتوصيل دبوس VCC في MPU-6050 بدبوس 5V في الأردوينو. بعد ذلك، وصل دبوس GND في MPU-6050 بأحد دبابيس GND في الأردوينو. للتواصل عبر I2C، وصل دبوس SDA في MPU-6050 بدبوس A4 في الأردوينو، ودبوس SCL بدبوس A5. تأكد من إعداد الأردوينو لاستخدام اتصال I2C عن طريق تضمين المكتبات المناسبة في الكود.
تحقق مرتين من التوصيلات قبل توصيل الطاقة للنظام. إذا كنت تستخدم لوحة تجارب (breadboard)، فتأكد من أن التوصيلات محكمة وأنه لا توجد دوائر قصر. إذا لم تستجب الوحدة كما هو متوقع، فافحص الأسلاك وتحقق من عنوان I2C الخاص بـ MPU-6050 في كودك.
أمثلة على الكود وشرح خطوة بخطوة
مقتطف الشيفرة التالي يهيئ MPU-6050 ويبدأ بقراءة البيانات منه. المعرفات الرئيسية تشملmpu6050, وهو المثيل لفئة MPU6050، وtimer، والذي يُستخدم للتحكم في توقيت إخراج البيانات.
MPU6050 mpu6050(Wire);
long timer = 0;
void setup() {
Serial.begin(9600);
Wire.begin();
mpu6050.begin();
mpu6050.calcGyroOffsets(true);
}
في دالة الإعداد هذه، نقوم بتهيئة الاتصال التسلسلي ومستشعر MPU-6050. الـmpu6050.calcGyroOffsets(true)المكالمة ضرورية لأنها تقوم بمعايرة انحرافات الجيروسكوب، مما يضمن قراءات دقيقة.
في دالة loop()، نقوم بتحديث بيانات المستشعر بشكل مستمر وطباعتها على المراقب التسلسلي. يُظهر مقطع الشيفرة التالي كيفية قراءة بيانات درجة الحرارة والتسارع وطباعتها:
if(millis() - timer > 1000){
Serial.print("temp : ");Serial.println(mpu6050.getTemp());
Serial.print("accX : ");Serial.print(mpu6050.getAccX());
Serial.print("\taccY : ");Serial.print(mpu6050.getAccY());
Serial.print("\taccZ : ");Serial.println(mpu6050.getAccZ());
}
يفحص هذا الجزء ما إذا مرت ثانية منذ آخر إخراج. ثم يسترجع قيم درجة الحرارة والتسارع من MPU-6050 ويطبعها على شاشة المراقبة التسلسلية. يمكنك ملاحظة تحديث هذه القيم في الوقت الحقيقي.
عرض توضيحي / ما الذي تتوقعه
بمجرد توصيل كل شيء وتحميل الكود، يمكنك أن تتوقع رؤية بيانات الحرارة والتسارع مطبوعة في المراقب التسلسلي كل ثانية. إذا قمت بإمالة أو تحريك MPU-6050، يجب أن تتغير قيم التسارع تبعًا لذلك. انتبه إلى أن التوصيل غير الصحيح أو مصدر طاقة غير كافٍ قد يؤدي إلى قراءات متقلبة أو عدم وجود بيانات على الإطلاق (في الفيديو عند 01:30).
الأشياء التي قد تحتاجها
-
أمازونPurchase MPU-6050 from Amazonamzn.to
الموارد والمراجع
-
خارجيموقع الشركة المصنعةinvensense.com
ملفات📁
مكتبات أردوينو (ملف مضغوط)
-
Arduino library for MPU9250
application/zip3.38 MB