MPU6050: وحدة لتحديد المواقع مع Arduino

مجلس MPU6050

إذا كنت بحاجة إلى إنشاء مشروع ووضعه في موضعه ، فاعلم كيف يتم وضعها فيما يتعلق بالمساحة ، يمكنك استخدام الوحدة MPU6050. وهذا يعني أن هذه الوحدة هي وحدة قياس بالقصور الذاتي أو IMU (وحدات القياس بالقصور الذاتي) مع 6 درجات من الحرية (DoF). هذا بفضل مستشعرات نوع مقياس التسارع ثلاثية المحاور والجيروسكوب ثلاثي المحاور الذي يتم تنفيذه للعمل.

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

ما هو مقياس التسارع والجيروسكوب؟

أمثلة MEMS

أمثلة MEMS

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

  • التسارع: يقيس التسارع ، أي التغير في السرعة لكل وحدة زمنية. تذكر أنه في الفيزياء ، تغيير السرعة مع الوقت (a = dV / dt) هو تعريف التسارع. وفقًا لقانون نيوتن الثاني ، لدينا أيضًا أن a = F / m ، وهذا ما تستخدمه مقاييس التسارع للعمل ، أي أنها تستخدم معلمات القوة والكتلة للجسم. حتى يمكن تنفيذ ذلك في الإلكترونيات ، يتم استخدام تقنيات MEMS (الأنظمة الميكانيكية الكهروميكانيكية الدقيقة) ، والتي تختلف عن تقنيات تصنيع الرقائق الإلكترونية التقليدية ، حيث يتم إنشاء الأجزاء الميكانيكية في نظام MEMS. في هذه الحالة ، يتم إنشاء مسارات أو عناصر قادرة على قياس التسارع. هذا يعني أنه يمكن أخذ العديد من الوحدات الأخرى ، مثل السرعة (إذا تم دمج التسارع في الوقت المناسب) ، إذا تم دمجها مرة أخرى ، لدينا إزاحة ، إلخ. وهذا يعني ، معلمات مثيرة جدًا للاهتمام لمعرفة موضع أو اكتشاف حركة كائن ما.
  • جيروسكوب: يسمى أيضًا الجيروسكوب ، وهو جهاز يقيس السرعة الزاوية لجسم ما ، أي الإزاحة الزاوية لكل وحدة زمنية أو مدى سرعة دوران الجسم حول محوره. في هذه الحالة ، تُستخدم تقنيات MEMS أيضًا لقياس هذه السرعة باستخدام تأثير يُعرف باسم Coriolis. بفضل هذا ، يمكن قياس السرعة الزاوية ، أو من خلال دمج السرعة الزاوية فيما يتعلق بالوقت ، يمكن الحصول على الإزاحة الزاوية.

وحدة MPU6050

MPU6050 pinout

الآن بعد أن عرفت ما هو مقياس التسارع والجيروسكوب ، وحدة MPU6050 إنها لوحة إلكترونية تدمج هذين العنصرين للسماح لك بقياس هذه التغييرات في موضع العنصر وبالتالي تكون قادرًا على توليد رد فعل. على سبيل المثال ، عندما يتحرك كائن ما ، يضيء مؤشر LED ، أو أشياء أخرى أكثر تعقيدًا.

كما قلت ، لديها 6 محاور للحرية ، DoF ، مقياس تسارع ثلاثي المحاور X و Y و Z ، وجيروسكوب آخر ثلاثي المحاور لقياس السرعة الزاوية. يجب أن تأخذ في الاعتبار عدم ارتكاب خطأ في الطريقة التي تضع بها الوحدة واتجاه الدوران للقياسات ، لأنك إذا قمت بإشارة خاطئة ، فستكون فوضوية بعض الشيء. انظر إلى الصورة التالية حيث تحدد اتجاه المحاور (ومع ذلك ، لاحظ أن ثنائي الفينيل متعدد الكلور نفسه قد طبع أيضًا على جانب واحد):

ورقة البيانات MPU6050

النظر في هذا و pinout، أكثر أو أقل لديك كل شيء واضحًا لبدء استخدام MPU6050. كما ترى في الصورة السابقة ، فإن التوصيلات بسيطة للغاية وتسمح باتصال I2C بالتوافق مع معظم المتحكمات الدقيقة ، بما في ذلك Arduino. تحتوي دبابيس SCL و SDA على مقاومة سحب على اللوحة للاتصال المباشر بلوحة Arduino ، لذلك لا داعي للقلق بشأن إضافتها بنفسك.

للعمل مع كلا الاتجاهين في الحافلة I2C ، يمكنك استخدامهما دبابيس واتجاهات:

  • AD0 = 1 أو High (5v): لعنوان I0C 69x2.
  • AD0 = 0 أو منخفض (GND أو Nc): للعنوان 0x68 لناقل I2C.

تذكر أن جهد التشغيل في النموذج هو 3v3 ، ولكن لحسن الحظ يحتوي على منظم مدمج ، لذلك يمكن تبديله باستخدام Arduino's 5v دون مشكلة وسيحوله إلى 3.3 فولت.

بالمناسبة ، وجود مقاومة داخلية لـ GND ، إذا لم يكن هذا الدبوس متصلاً ، العنوان بشكل افتراضي سيكون 0x68، حيث سيتم توصيله افتراضيًا بالأرض ، وتفسيره على أنه 0 منطقي.

التكامل مع اردوينو

اتصال اردوينو و MPU6050

يمكنك الحصول مزيد من المعلومات حول الحافلة I2C في هذه المقالة. أنت تعلم بالفعل أنه بناءً على لوحة Arduino ، تختلف المسامير المستخدمة في الحافلة ، ولكن في Arduino UNO هو الدبوس التناظري A4 و A5 ، لـ SDA (البيانات) و SCL (الساعة) على التوالى. إنها دبابيس Arduino الوحيدة ، جنبًا إلى جنب مع 5v و GND لتشغيل اللوحة ، والتي يجب عليك استخدامها. لذا فإن الاتصال بسيط قدر الإمكان.

بالنسبة لوظائف MPU6050 ، يمكنك استخدام المكتبات التي يمكنك الحصول على مزيد من المعلومات منها في هذا الرابط لـ I2C الوحدة النمطية وتلك الخاصة بالحافلة MPU6050.

برمجة لوحة Arduino ليست واضحة جدًا مع MPU6050 ، لذا فهي ليست للمبتدئين. بالإضافة إلى ذلك ، بمعرفة حدود التسارع أو نطاقات الزوايا ، يمكنك المعايرة لتحديد الحركة أو التسارع بالضبط. ومع ذلك ، حتى تتمكن على الأقل من الحصول على مثال على كيفية التعليق على استخدامه ، يمكنك رؤية هذا الرمز من ملف رسم مثال لـ Arduino IDE الخاص بك والتي ستقرأ القيم المسجلة بواسطة مقياس التسارع والجيروسكوب:

// Bibliotecas necesarias:
#include "I2Cdev.h"
#include "MPU6050.h"
#include "Wire.h"

// Dependiendo del estado de AD0, la dirección puede ser 0x68 o 0x69, para controlar así el esclavo que leerá por el bus I2C
MPU6050 sensor;

// Valores RAW o en crudo leidos del acelerometro y giroscopio en los ejes x,y,z
int ax, ay, az;
int gx, gy, gz;

void setup() {
  Serial.begin(57600);    //Función para iniciar el puerto serie con 57600 baudios
  Wire.begin();           //Inicio para el bus I2C 
  sensor.initialize();    //Iniciando del sensor MPU6050

  if (sensor.testConnection()) Serial.println("Sensor iniciado correctamente");
  else Serial.println("Error al iniciar el sensor");
}

void loop() {
  // Leer las aceleraciones y velocidades angulares
  sensor.getAcceleration(&ax, &ay, &az);
  sensor.getRotation(&gx, &gy, &gz);

  // Muestra las lecturas que va registrando separadas por una tabulación 
  Serial.print("a[x y z] g[x y z]:\t");
  Serial.print(ax); Serial.print("\t");
  Serial.print(ay); Serial.print("\t");
  Serial.print(az); Serial.print("\t");
  Serial.print(gx); Serial.print("\t");
  Serial.print(gy); Serial.print("\t");
  Serial.println(gz);

  delay(100);
}

إذا كنت مبتدئًا ولا تعرف جيدًا كيفية البرمجة باستخدام Arduino IDE، سيكون من الصعب عليك فهم ذلك ، لذا يمكنك الرجوع إلى دليلنا مع الدورة التمهيدية لبرمجة Arduino مجانًا ...


كن أول من يعلق

اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.