كيفية استخدام مقياس التسارع مع الاردوينو

  • MPU6050 عبارة عن مستشعر يجمع بين مقياس التسارع والجيروسكوب، مع معالج DMP الذي يعمل على تحسين الأداء.
  • يسمح MPU6050 بقياس الحركة في 3 محاور ويتواصل مع Arduino باستخدام I2C أو SPI، وهو مثالي لقياس التسارع والدوران.
  • يعد ADXL345 مقياس تسارع شائعًا آخر يحتوي على دبابيس مقاطعة وهو دقيق للغاية بدقة 13 بت.

التسارع

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

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

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

التسارع

مقياس التسارع هو جهاز استشعار يقيس تسارع الجسم في محور واحد أو أكثر. وهذا يشمل كلا من التسارع الناتج عن الحركة والتسارع الناتج عن الجاذبية. يتم قياس التسارع بالمتر في الثانية المربعة (m/s²)، وبأخذ محاوره الثلاثة (X وY وZ) في الاعتبار، يمكننا معرفة الاتجاه والقوة التي يتحرك بها الجسم.

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

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

مقياس التسارع MPU6050

أدافروت MPU-6050 6-DoF...
أدافروت MPU-6050 6-DoF...
لم يتم تقديم تعليقات

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

يسمح نطاق القياس الخاص بمقياس التسارع بالعمل مع نطاق قابل للتعديل بين ±2 جرام، ±4 جرام، ±8 جرام و±16 جرام. وهذا يمنحها دقة كبيرة، لأنها تحتوي على محولات 16 بت تسمح بالتقاط الاختلافات الصغيرة في كل محور. كما يسمح الجيروسكوب الداخلي بقياس الدورات بنطاق قابل للتعديل بين ±250 درجة/ثانية إلى ±2000 درجة/ثانية.

يعد الاتصال بسيطًا بفضل بروتوكول I2C أو SPI، الذي يسمح لك بالاتصال بكفاءة MPU6050 إلى Arduino واحصل على البيانات بسرعة عبر ناقل البيانات. استهلاكه المنخفض للطاقة (حوالي 3,5 مللي أمبير في المتوسط) يجعله مثاليًا للمشاريع التي يجب فيها تحسين استخدام الطاقة.

مثال على اتصال MPU6050

يعد الاتصال بين وحدة MPU6050 وArduino بسيطًا جدًا، وذلك بفضل معيار I2C الذي يستخدمه هذا المستشعر.

MPU6050 Arduino Uno (أو مشابه)
VCC 5V
GND GND
SCL A5
SDA A4

بمجرد إنشاء هذه الاتصالات، يمكنك تحميل التعليمات البرمجية في Arduino IDE الذي يسمح لك بقراءة بيانات مقياس التسارع والجيروسكوب في الوقت الفعلي.

قراءة البيانات مع اردوينو

للحصول على القراءات من MPU6050، يمكنك استخدام المكتبات MPU6050 y الأسلاكمما يسهل الاتصال بين المستشعر ولوحة الاردوينو. وفيما يلي نعرض لكم مثالاً بسيطاً لكيفية قراءة التسارعات والدورانات وعرضها من خلال المنفذ التسلسلي:

#include 
#include 

MPU6050 accelGyro;
int ax, ay, az;
int gx, gy, gz;

void setup() {
  Serial.begin(9600);
  Wire.begin();
  accelGyro.initialize();

  if (accelGyro.testConnection()) {
    Serial.println("Sensor conectado correctamente");
  } else {
    Serial.println("Error al conectar el sensor");
  }
}

void loop() {
  accelGyro.getAcceleration(&ax, &ay, &az);
  accelGyro.getRotation(&gx, &gy, &gz);
  Serial.print("Accel:	");
  Serial.print(ax); Serial.print("	");
  Serial.print(ay); Serial.print("	");
  Serial.print(az); Serial.print("	");
  Serial.print("Gyro:	");
  Serial.print(gx); Serial.print("	");
  Serial.print(gy); Serial.print("	");
  Serial.println(gz);
  delay(100);
}

معايرة مقياس التسارع

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

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

void calibrateMPU6050() {
  int16_t ax, ay, az, gx, gy, gz;
  int ax_offset = 0, ay_offset = 0, az_offset = 0;
  int gx_offset = 0, gy_offset = 0, gz_offset = 0;
  // Inicia con valores de ejemplo...
  for(int i=0; i<100; i++) {
    mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
    ax_offset += ax; ay_offset += ay; az_offset += az;
    gx_offset += gx; gy_offset += gy; gz_offset += gz;
    delay(100);
  }

هذا الرمز هو مجرد مقتطف لتوضيح كيفية ضبط الإزاحات من عدة قراءات متكررة.

مقياس التسارع ADXL345

El ADXL345 هو مقياس تسارع سعوي ثلاثي المحاور يحظى أيضًا بشعبية كبيرة في مجتمع Arduino. مثل MPU3، هذا المستشعر منخفض الطاقة ويحتوي على كتلة ذاكرة FIFO لتخزين ما يصل إلى 6050 مجموعة من القياسات من جميع المحاور الثلاثة.

إحدى نقاط قوتها هي أنها تسمح لك بالاختيار بين عدة نطاقات قياس، من ±2 جرام إلى ±16 جرام، بدقة تصل إلى 13 بت. كما أن لديها دبابيس مقاطعة يمكنك تهيئتها لاكتشاف أحداث معينة مثل الحركات المفاجئة أو السقوط الحر.

استخدام ADXL345 مع الاردوينو

يعد توصيل ADXL345 بـ Arduino أمرًا بسيطًا أيضًا. فيما يلي كيفية توصيل المستشعر باستخدام ناقل I2C:

ADXL345 Arduino Uno (أو مشابه)
VCC 5V
GND GND
SDA A4
SCL A5

بمجرد أن تصبح جاهزًا، يمكنك استخدام المكتبة SparkFun_ADXL345 لبدء قراءات مقياس التسارع بسرعة وكفاءة. فيما يلي بعض التعليمات البرمجية حول كيفية إجراء هذه القراءات:

#include 
ADXL345 adxl;

void setup() {
  Serial.begin(9600);
  adxl.powerOn();
  adxl.setRangeSetting(8); // Selecciona el rango de ±8g
}

void loop() {
  int x, y, z;
  adxl.readAccel(&x, &y, &z);
  Serial.print("X:"); Serial.print(x);
  Serial.print(" Y:"); Serial.print(y);
  Serial.print(" Z:"); Serial.println(z);
  delay(500);
}

تطبيقات مقياس التسارع

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

  • كشف الحركة في ألعاب الفيديو وأجهزة التحكم.
  • استقرار الكاميرا لتجنب الاهتزازات.
  • أجهزة السلامة للكشف عن السقوط أو الحركات المفاجئة.
  • جرس الانذار في المركبات أو أنظمة الوصول.

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


كن أول من يعلق

اترك تعليقك

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

*

*

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