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

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

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

فيديو: Raspberry Pi MMA8452Q 3-Axis 12-bit / 8-bit Digital Accelerometer Python تعليمي: 4 خطوات
فيديو: Arduino & 3-Axis Accelerometer Module - Getting Started with Arduino and Keyestudios 37 Sensor Kit 2024, يونيو
Anonim
Image
Image

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

الخطوة 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.

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

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

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

يمكن تنزيل كود python الخاص بـ MMA8452Q من مستودع جيثب الخاص بنا - ControlEverythingCommunity

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

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

pypi.python.org/pypi/smbus-cffi/0.5.1

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

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

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

# MMA8452Q

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

استيراد smbus

وقت الاستيراد

# احصل على حافلة I2C

الحافلة = smbus. SMBus (1)

# عنوان MMA8452Q ، 0x1C (28)

# حدد سجل التحكم ، 0x2A (42)

# 0x00 (00) وضع الاستعداد

bus.write_byte_data (0x1C ، 0x2A ، 0x00)

# عنوان MMA8452Q ، 0x1C (28)

# حدد سجل التحكم ، 0x2A (42)

# 0x01 (01) الوضع النشط

bus.write_byte_data (0x1C ، 0x2A ، 0x01)

# عنوان MMA8452Q ، 0x1C (28)

# حدد سجل التكوين ، 0x0E (14)

# 0x00 (00) اضبط النطاق على +/- 2g

bus.write_byte_data (0x1C ، 0x0E ، 0x00)

وقت النوم (0.5)

# عنوان MMA8452Q ، 0x1C (28)

# قراءة البيانات مرة أخرى من 0x00 (0) ، 7 بايت

# سجل الحالة ، X-Axis MSB ، X-Axis LSB ، Y-Axis MSB ، Y-Axis LSB ، Z-Axis MSB ، Z-Axis LSB

data = bus.read_i2c_block_data (0x1C، 0x00، 7)

# تحويل البيانات

xAccl = (البيانات [1] * 256 + البيانات [2]) / 16

إذا كان xAccl> 2047:

xAccl - = 4096

yAccl = (البيانات [3] * 256 + البيانات [4]) / 16

إذا كان yAccl> 2047:

yAccl - = 4096 ض

Accl = (data [5] * 256 + data [6]) / 16

إذا كان zAccl> 2047:

zAccl - = 4096

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

طباعة "تسريع في المحور X:٪ d"٪ xAccl

طباعة "تسريع في المحور ص:٪ d"٪ yAccl

طباعة "تسريع في المحور Z:٪ d"٪ zAccl

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

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

موصى به: