يحتوي مستشعر MPU6050 على العديد من الوظائف على شريحة واحدة. وهو يتألف من مقياس تسارع MEMS وجيروسكوب MEMS ومستشعر درجة الحرارة. هذه الوحدة دقيقة للغاية أثناء تحويل القيم التناظرية إلى رقمية لأنها تحتوي على جهاز محول تناظري 16 بت إلى رقمي لكل قناة. هذه الوحدة قادرة على التقاط قناة x و y و z في نفس الوقت. يحتوي على واجهة I2C للتواصل مع وحدة تحكم المضيف. هذه الوحدة MPU6050 عبارة عن شريحة مدمجة بها كل من مقياس التسارع والجيروسكوب. هذا جهاز مفيد للغاية للعديد من التطبيقات مثل الطائرات بدون طيار والروبوتات وأجهزة استشعار الحركة. ويسمى أيضًا الجيروسكوب أو مقياس التسارع ثلاثي المحاور.
سنقوم اليوم في هذه المقالة بربط جيروسكوب MPU6050 مع Arduino وإظهار القيم التي تزيد عن 16x2 LCD.
المكونات المطلوبة:
- اردوينو اونو
- MPU-6050
- 10 كيلو وعاء
- سلك توصيل
- اللوح
- كابل USB
- مزود الطاقة
مستشعر جيروسكوبي MPU6050:
MPU-6050 عبارة عن 8 دبوس 6 محاور الدوران ومقياس التسارع في شريحة واحدة. تعمل هذه الوحدة على الاتصال التسلسلي I2C افتراضيًا ولكن يمكن تهيئتها لواجهة SPI عن طريق تكوين تسجيلها. بالنسبة لـ I2C ، يحتوي هذا على خطوط SDA و SCL. جميع المسامير تقريبًا متعددة الوظائف ولكن هنا نواصل فقط مع دبابيس وضع I2C.
تكوين الدبوس:
Vcc: - يستخدم هذا الدبوس لتشغيل وحدة MPU6050 فيما يتعلق بالأرض
GND: - هذا هو الدبوس الأرضي
SDA: - يستخدم SDA pin للبيانات بين وحدة التحكم ووحدة mpu6050
SCL: - يستخدم دبوس SCL لإدخال الساعة
XDA: - هذا هو خط بيانات مستشعر I2C SDA للتكوين والقراءة من المستشعرات الخارجية ((اختياري) غير مستخدم في حالتنا)
XCL: - هذا هو خط ساعة المستشعر I2C SCL للتكوين والقراءة من المستشعرات الخارجية ((اختياري) غير مستخدم في حالتنا)
ADO: - I2C Slave Address LSB (لا ينطبق في حالتنا)
المترجم: - دبوس المقاطعة للإشارة إلى البيانات جاهزة.
وصف:
في هذه المقالة ، نعرض قراءات درجة الحرارة والجيروسكوب والتسارع على شاشة LCD باستخدام MPU6050 مع Arduino. تعطينا هذه الوحدة قيم الصفوف والقيم الطبيعية في المخرجات ولكن قيم الصفوف غير مستقرة ، لذلك لدينا هنا قيم طبيعية على شاشة LCD. إذا كنت تريد فقط قيمة مقياس التسارع ، فيمكنك أيضًا استخدام مقياس التسارع ADXL335 مع Arduino.
في هذا المشروع ، أظهرنا أولاً قيمة درجة الحرارة فوق شاشة LCD وبعد 10 ثوانٍ نعرض قيم الدوران وبعد 10 ثوانٍ لدينا قراءات مقياس التسارع كما هو موضح في الصور أدناه:
مخطط الدائرة وشرحها:
مخطط الدائرة ، لربط MPU6050 مع Arduino ، بسيط جدًا هنا استخدمنا شاشة LCD و MPU6050. وهنا استخدمنا مصدر طاقة USB محمول. يتم استخدام وعاء 10 كيلو للتحكم في سطوع شاشة LCD. فيما يتعلق بـ MPU6050 ، أجرينا 5 اتصالات قمنا فيها بتوصيل مصدر طاقة 3.3 فولت وأرضي MPU6050 إلى 3.3 فولت وأرضي Arduino. يتم توصيل دبابيس SCL و SDA الخاصة بـ MPU6050 بدبوس Arduino مقاس A4 و A5. ودبوس INT الخاص بـ MPU6050 متصل بالمقاطعة 0 من Arduino (D2). شاشات الكريستال السائل RS و RW و EN متصلة مباشرة بـ 8 و gnd و 9 من Arduino. يتم توصيل دبوس البيانات مباشرة برقم التعريف الرقمي 10 و 11 و 12 و 13.
شرح البرمجة
جزء البرمجة سهل أيضًا لهذا المشروع. هنا استخدمنا مكتبة MPU6050 هذه لربطها بـ Arduino. لذا أولاً وقبل كل شيء ، نحتاج إلى تنزيل مكتبة MPU6050 من GitHub وتثبيتها في Arduino IDE.
بعد ذلك ، يمكننا أن نجد أمثلة على الرموز في المثال. يمكن للمستخدم اختبار هذا الرمز عن طريق تحميله مباشرة على Arduino ويمكنه رؤية القيم عبر الشاشة التسلسلية. أو قد يستخدم المستخدم الكود الخاص بنا الوارد في نهاية المقالة لإظهار القيم عبر شاشة LCD والشاشة التسلسلية أيضًا.
في الترميز ، قمنا بتضمين بعض المكتبات المطلوبة مثل MPU6050 و LCD.
#تضمن
في وظيفة الإعداد ، نقوم بتهيئة كلا الجهازين وكتابة رسالة ترحيب عبر شاشة LCD
إعداد باطل () {lcd.begin (16،2) ؛ lcd.createChar (0 ، درجة) ؛ Serial.begin (9600) ؛ Serial.println ("تهيئة MPU6050") ؛ بينما (! mpu.begin (MPU6050_SCALE_2000DPS، MPU6050_RANGE_2G)) {lcd.clear () ، lcd.print ("الجهاز غير موجود") ؛ Serial.println ("تعذر العثور على مستشعر MPU6050 صالح ، تحقق من الأسلاك!") ؛ تأخير (500) ؛ } العد = 0 ؛ mpu.calibrateGyro () ، mpu.setThreshold (3) ، في وظيفة الحلقة ، قمنا باستدعاء ثلاث وظائف في كل 10 ثوانٍ لعرض قراءة درجة الحرارة والجيروسكوب والتسارع على شاشة LCD. هذه الوظائف الثلاث هي tempShow و gyroShow و AccelShow ، يمكنك التحقق من هذه الوظائف في كود Arduino الكامل الوارد في نهاية هذه المقالة:
حلقة باطلة () {lcd.clear () ، lcd.print ("درجة الحرارة") ؛ طويل st = مللي () ؛ Serial.println ("درجة الحرارة") ؛ while (مللي ثانية)
يتم استخدام كل من MPU6050 الدوران ومقياس التسارع لاكتشاف موضع واتجاه أي جهاز. يستخدم الجيروسكوب الجاذبية الأرضية لتحديد مواضع المحور x و y و z ويكشف مقياس التسارع بناءً على معدل تغير الحركة. لقد استخدمنا بالفعل مقياس التسارع مع Arduino في العديد من مشاريعنا مثل:
- مقياس التسارع القائم على لفتة اليد الروبوت التحكم
- نظام تنبيه حوادث المركبات القائم على اردوينو
- إنذار للكشف عن الزلازل باستخدام Arduino