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

Raspberry Pi MMA8452Q 3-Axis 12-bit / 8-bit Digital Accelerometer Java تعليمي: 4 خطوات
Raspberry Pi MMA8452Q 3-Axis 12-bit / 8-bit Digital Accelerometer Java تعليمي: 4 خطوات

فيديو: Raspberry Pi MMA8452Q 3-Axis 12-bit / 8-bit Digital Accelerometer Java تعليمي: 4 خطوات

فيديو: Raspberry Pi MMA8452Q 3-Axis 12-bit / 8-bit Digital Accelerometer Java تعليمي: 4 خطوات
فيديو: Particle Photon MMA7455L Low-g Digital Output Accelerometer Tutorial 2024, يوليو
Anonim
Image
Image

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

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

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

1. Raspberry Pi

2. MMA8452Q

3. كابل I²C

4. I²C Shield لـ Raspberry Pi

5. كابل إيثرنت

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

روابط
روابط
روابط
روابط
روابط
روابط
روابط
روابط

خذ درع I2C لـ Raspberry Pi وادفعه برفق فوق دبابيس gpio الخاصة بـ Raspberry Pi.

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

قم أيضًا بتوصيل كبل Ethernet بـ pi أو يمكنك استخدام وحدة WiFi.

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

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

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

يمكن تنزيل كود Java الخاص بـ MMA8452Q من مستودع GitHub - Dcube Store

هنا هو الرابط لنفسه:

github.com/DcubeTechVentures/MMA8452Q

لقد استخدمنا مكتبة pi4j لرمز جافا ، وخطوات تثبيت pi4j على Raspberry Pi موصوفة هنا:

pi4j.com/install.html

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

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

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

// MMA8452Q

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

استيراد com.pi4j.io.i2c. I2CBus ؛

استيراد com.pi4j.io.i2c. I2CDevice ؛

استيراد com.pi4j.io.i2c. I2CFactory ؛

استيراد java.io. IOException ؛

فئة عامة MMA8452Q

{

يطرح main static void main (String args ) استثناء

{

// إنشاء ناقل I2C

حافلة I2CBus = I2CFactory.getInstance (I2CBus. BUS_1) ؛

// احصل على جهاز I2C ، عنوان MMA8452Q I2C هو 0x1C (28)

جهاز I2CDevice = bus.getDevice (0x1C) ،

// إرسال أمر الاستعداد

device.write (0x2A ، (بايت) 0x00) ؛

// أرسل الأمر النشط

device.write (0x2A ، (بايت) 0x01) ؛

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

device.write (0x0E ، (بايت) 0x00) ؛

Thread.sleep (500) ؛

// قراءة 7 بايت من البيانات من العنوان 0x00 (0)

// الحالة، X msb، X lsb، Y msb، Y lsb، Z msb، Z lsb

بايت بيانات = بايت جديد [7] ؛

قراءة الجهاز (0x00 ، البيانات ، 0 ، 7) ؛

// تحويل القيم

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

إذا (xAccl> 2047)

{

xAccl = xAccl - 4096 ؛

}

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

إذا (yAccl> 2047)

{

yAccl = yAccl - 4096 ؛

}

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

إذا (zAccl> 2047)

{

zAccl = zAccl - 4096 ؛

}

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

System.out.printf ("X-Axis:٪ d٪ n"، xAccl)؛

System.out.printf ("المحور Y:٪ d٪ n"، yAccl)؛

System.out.printf ("المحور Z:٪ d٪ n"، zAccl)؛

}

}

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

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

موصى به: