عرض بيانات مستشعر MPU-6050 على شاشة LCD 1602 أو LCD2004 باستخدام Arduino

عرض بيانات مستشعر MPU-6050 على شاشة LCD 1602 أو LCD2004 باستخدام Arduino

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

مع تقدمنا في هذا المشروع، سنغطي مكونات الأجهزة اللازمة، وتفاصيل الأسلاك، وتنفيذ الكود. سيساعدك ذلك على فهم كيفية إعداد MPU-6050 وعرض مخرجاته على شاشة LCD. لمزيد من التوضيح حول الكود، تأكد من مشاهدة الفيديو (في الفيديو عند 00:00).

شرح الأجهزة

المكونات الأساسية لهذا المشروع هي لوحة Arduino، ومستشعر MPU-6050، وشاشة LCD (إما 1602 أو 2004). تعمل لوحة Arduino كوحدة تحكم دقيقة تقوم بمعالجة البيانات القادمة من MPU-6050 وإرسالها إلى شاشة LCD.

يستخدم مستشعر MPU-6050 بروتوكول I2C لإرسال البيانات إلى الأردوينو. يحتوي على مقياس تسارع وجيروسكوب، مما يتيح له استشعار الحركة والاتجاه. تُستخدم شاشة LCD لعرض الزوايا المستمدة من بيانات المستشعر. كما تتصل أيضاً بالأردوينو عبر I2C، مما يبسط التوصيلات والاتصال.

تفاصيل ورقة البيانات

المصنّعإنفينسينس
رقم القطعةMPU-6050
جهد المنطق/الإدخال والإخراج3.3 V / 5 V
جهد التغذية3.3 فولت إلى 5 فولت
معدل إخراج البيانات1 كيلو هرتز (الحد الأقصى)
نطاق درجات الحرارة-40 إلى +85 °C
حزمةحزمة رباعية مسطحة بدون أرجل
ملاحظات / متغيراتجيروسكوب ومقياس تسارع مدمجان

  • تأكد من توفر مصدر طاقة مناسب ضمن نطاق الجهد المحدد.
  • استخدم مقاومات سحب إلى الأعلى على خطوط I2C إذا لزم الأمر.
  • تحقق من عنوان I2C للتأكد من توافقه مع إعداداتك.
  • قم بمعايرة المستشعر للحصول على قراءات دقيقة.
  • كن حذراً عند توصيل الأسلاك لتجنب القصر الكهربائي.

تعليمات الأسلاك

arduino_wiring_MPU-6050_LCD2004_bb

لتوصيل MPU-6050 بالأردوينو، ابدأ بتوصيل دبوس VCC في MPU-6050 بدبوس 5V على الأردوينو. بعد ذلك، قم بتوصيل دبوس GND في MPU-6050 بأحد دبابيس GND على الأردوينو. للتواصل عبر I2C، قم بتوصيل دبوس SDA في MPU-6050 بالدبوس التناظري A4 على الأردوينو، وقم بتوصيل دبوس SCL بالدبوس التناظري A5.

بالنسبة لشاشة LCD، قم بتوصيل دبوس VCC بدبوس 5V على الأردوينو ودبوس GND بدبوس GND على الأردوينو أيضاً. قم بتوصيل دبوس SDA للشاشة بنفس دبوس A4 المستخدم للـ MPU-6050، ودبوس SCL للشاشة بدبوس A5. بهذه الطريقة، يتشارك كل من MPU-6050 وLCD نفس خطوط I2C، مما يبسط التوصيل.

تأكد من أن التوصيلات محكمة وأنه لا توجد أسلاك مرتخية. إذا لم تعمل شاشة LCD أو المستشعر، فتحقق مرة أخرى من الأسلاك والتوصيلات.

أمثلة على الكود وشرح خطوة بخطوة

في الشيفرة، نبدأ بتضمين المكتبات اللازمة لـ MPU-6050 وشاشة LCD:

#include 
#include 
#include 

هنا نقوم بإنشاء مثيلات لكل من MPU-6050 وشاشة LCD. يتم تهيئة MPU-6050 باستخدام مكتبة Wire لاتصال I2C، بينما يتم إعداد شاشة LCD بعنوانها وأبعادها.

في دالة الإعداد، نقوم بتهيئة المستشعر وشاشة LCD:

void setup() {
  Serial.begin(9600);
  Wire.begin();
  mpu6050.begin();
  lcd.begin();
  lcd.backlight();
  lcd.clear();
}

يقوم هذا الكود بإعداد الاتصال التسلسلي لأغراض التصحيح، ويهيئ اتصال I2C، ويجهّز شاشة LCD للعرض. يتم تشغيل الإضاءة الخلفية لجعل الشاشة مرئية.

في دالة loop، نقرأ البيانات من MPU-6050 باستمرار ونعرضها على شاشة LCD:

void loop() {
  mpu6050.update();
  lcd.clear();
  lcdDisplay(mpu6050.getAngleX(), mpu6050.getAngleY(), mpu6050.getAngleZ());
  delay(100);
}

يقوم هذا المقتطف بتحديث بيانات المستشعر ومسح شاشة LCD لقراءات جديدة كل 100 مللي ثانية. يتم استدعاء الدالة lcdDisplay لعرض الزوايا على شاشة LCD.

للحصول على فهمٍ كامل، يرجى مشاهدة الفيديو المقابل حيث يُوضّح الكود بالكامل (في الفيديو عند 00:00).

عرض توضيحي / ما الذي تتوقعه

عندما يتم إعداد كل شيء بشكل صحيح، يجب أن تعرض شاشة LCD الزوايا لمحاور X وY وZ في الوقت الفعلي. يمكنك إمالة مستشعر MPU-6050 لرؤية التغييرات على الشاشة. إذا واجهت مشاكل، فافحص وجود قطبية معكوسة في توصيلات الأسلاك أو تأكد من أن عناوين I2C مُعَيَّنة بشكل صحيح.

مراقبة القيم على شاشة LCD ستمكنك من رؤية كيف يستجيب المستشعر للحركة وتغيرات الاتجاه. إذا بدت القيم ثابتة أو غير صحيحة، فتحقق من التوصيلات وتأكد من أن المستشعر يعمل بشكل صحيح.

الصور

arduino_wiring_MPU-6050_LCD2004_bb
arduino_wiring_MPU-6050_LCD2004_bb
LCD2004_display-3
LCD2004_display-3
LCD2004_display-1
LCD2004_display-1
LCD2004_display-2
LCD2004_display-2
119-Arduino code for MPU-6050 accelerometer and gyroscope sensor (angles only)
اللغة: C++
120-Arduino code for the MPU-6050 accelerometer and gyroscope sensor (all data)
اللغة: C++
تم النسخ!

ملفات📁

مكتبات أردوينو (ملف مضغوط)

Fritzing File

ملفات أخرى