جدول المحتويات:

Arduino Nano - MMA8452Q 3-Axis 12-bit / 8-bit Digital Accelerometer Tutorial: 4 خطوات
Arduino Nano - MMA8452Q 3-Axis 12-bit / 8-bit Digital Accelerometer Tutorial: 4 خطوات

فيديو: Arduino Nano - MMA8452Q 3-Axis 12-bit / 8-bit Digital Accelerometer Tutorial: 4 خطوات

فيديو: Arduino Nano - MMA8452Q 3-Axis 12-bit / 8-bit Digital Accelerometer Tutorial: 4 خطوات
فيديو: BeagleBone Black MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer 'C' Code Tutorial 2024, يوليو
Anonim
Image
Image

MMA8452Q هو مقياس تسارع ذكي ، منخفض الطاقة ، ثلاثي المحاور ، سعوي ، دقيق ميكانيكي مع دقة 12 بت. يتم توفير خيارات المستخدم القابلة للبرمجة المرنة بمساعدة الوظائف المضمنة في مقياس التسارع ، والتي يمكن تكوينها إلى دبابيس للمقاطعة. إنه يحتوي على مقاييس كاملة يمكن اختيارها من قبل المستخدم تبلغ ± 2g / ± 4g / ± 8g مع بيانات مصفاة عالية التمرير بالإضافة إلى البيانات غير المفلترة المتاحة في الوقت الفعلي. هذا هو العرض التوضيحي باستخدام Arduino nano.

الخطوة 1: ماذا تحتاج..

ماذا تحتاج..!!
ماذا تحتاج..!!

1. اردوينو نانو

2. MMA8452Q

3. كابل I²C

4. I²C Shield لـ Arduino Nano

الخطوة الثانية: التوصيل:

اتصال
اتصال
اتصال
اتصال
اتصال
اتصال
اتصال
اتصال

خذ درع I2C لـ Arduino Nano وادفعه برفق فوق دبابيس Nano.

ثم قم بتوصيل أحد طرفي كابل I2C بمستشعر MMA8452Q والطرف الآخر بدرع I2C.

تظهر الاتصالات في الصورة أعلاه.

الخطوة الثالثة: الكود:

الشفرة
الشفرة

يمكن تنزيل كود اردوينو الخاص بـ MMMA8452Q من مستودع جيثب الخاص بنا- متجر DCUBE.

ها هو الرابط الالكتروني.

نقوم بتضمين مكتبة Wire.h لتسهيل اتصال I2c للمستشعر بلوحة Arduino.

يمكنك أيضًا نسخ الكود من هنا ، ويُعطى على النحو التالي:

// موزعة بترخيص الإرادة الحرة.

// استخدمها بالطريقة التي تريدها ، سواء كانت ربحًا أو مجانًا ، شريطة أن تتناسب مع تراخيص الأعمال المرتبطة بها.

// MMA8452Q

// تم تصميم هذا الرمز للعمل مع الوحدة المصغرة MMA8452Q_I2CS I2C.

#يشمل

// MMA8452Q عنوان I2C هو 0x1C (28)

#define Addr 0x1C

الإعداد باطل()

{

// تهيئة اتصال I2C باعتباره MASTER

Wire.begin () ؛

// تهيئة الاتصال التسلسلي ، اضبط معدل الباود = 9600

Serial.begin (9600) ؛

// بدء نقل I2C

Wire.beginTransmission (العنوان) ؛

// حدد سجل التحكم

Wire.write (0x2A) ؛

// وضعيه الإستعداد

Wire.write (0x00) ؛

// إيقاف ناقل الحركة I2C

Wire.endTransmission () ؛

// بدء نقل I2C

Wire.beginTransmission (العنوان) ؛

// حدد سجل التحكم

Wire.write (0x2A) ؛

// الوضع النشط

Wire.write (0x01) ؛

// إيقاف ناقل الحركة I2C

Wire.endTransmission () ؛

// بدء نقل I2C

Wire.beginTransmission (العنوان) ؛

// حدد سجل التحكم

Wire.write (0x0E) ؛

// اضبط النطاق على +/- 2g

Wire.write (0x00) ؛

// إيقاف ناقل الحركة I2C

Wire.endTransmission () ؛

تأخير (300) ؛

}

حلقة فارغة()

{

بيانات int غير الموقعة [7] ؛

// طلب 7 بايت من البيانات

Wire.request From (Addr، 7) ؛

// قراءة 7 بايت من البيانات

// staus، xAccl lsb، xAccl msb، yAccl lsb، yAccl msb، zAccl lsb، zAccl msb

إذا كان (Wire.available () == 7)

{

البيانات [0] = Wire.read () ،

البيانات [1] = Wire.read () ،

البيانات [2] = Wire.read () ؛

البيانات [3] = Wire.read () ؛

البيانات [4] = Wire.read () ؛

البيانات [5] = Wire.read () ؛

البيانات [6] = Wire.read () ؛

}

// تحويل البيانات إلى 12 بت

int xAccl = ((data [1] * 256) + data [2]) / 16 ؛

إذا (xAccl> 2047)

{

xAccl - = 4096 ؛

}

int yAccl = ((data [3] * 256) + data [4]) / 16 ؛

إذا (yAccl> 2047)

{

yAccl - = 4096 ؛

}

int zAccl = ((data [5] * 256) + data [6]) / 16 ؛

إذا (zAccl> 2047)

{

zAccl - = 4096 ؛

}

// إخراج البيانات إلى الشاشة التسلسلية

Serial.print ("تسريع في المحور X:") ؛

Serial.println (xAccl) ؛

Serial.print ("تسريع في المحور ص:") ؛

Serial.println (yAccl) ؛

Serial.print ("تسريع في المحور Z:") ؛

Serial.println (zAccl) ؛

تأخير (500) ؛

}

الخطوة 4: التطبيقات:

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

موصى به: