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

قياس التسارع باستخدام H3LIS331DL و Raspberry Pi: 4 خطوات
قياس التسارع باستخدام H3LIS331DL و Raspberry Pi: 4 خطوات

فيديو: قياس التسارع باستخدام H3LIS331DL و Raspberry Pi: 4 خطوات

فيديو: قياس التسارع باستخدام H3LIS331DL و Raspberry Pi: 4 خطوات
فيديو: Raspberry Pi MXC6232xM Low Power Dual Axis Accelerometer Java Tutorial 2024, شهر نوفمبر
Anonim
Image
Image

H3LIS331DL ، مقياس تسارع خطي منخفض الطاقة وعالي الأداء ثلاثي المحاور ينتمي إلى عائلة "نانو" ، مع واجهة تسلسلية رقمية I²C. يحتوي H3LIS331DL على مقاييس كاملة يمكن اختيارها من قبل المستخدم تبلغ ± 100 جم / ± 200 جم / ± 400 جم وهي قادرة على قياس التسارع بمعدلات بيانات الإخراج من 0.5 هرتز إلى 1 كيلو هرتز. H3LIS331DL مضمون للعمل في نطاق درجة حرارة ممتدة من -40 درجة مئوية إلى +85 درجة مئوية.

سنقوم في هذا البرنامج التعليمي بشرح تفاعل H3LIS331DL مع Raspberry Pi ، باستخدام python كلغة برمجة.

الخطوة 1: الأجهزة المطلوبة:

الأجهزة المطلوبة
الأجهزة المطلوبة
الأجهزة المطلوبة
الأجهزة المطلوبة
الأجهزة المطلوبة
الأجهزة المطلوبة

تشمل المواد التي نحتاجها لتحقيق هدفنا مكونات الأجهزة التالية:

1. H3LIS331DL

2. Raspberry Pi

3. كابل I2C

4. I2C شيلد للتوت باي

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

الخطوة 2: ربط الأجهزة:

ربط الأجهزة
ربط الأجهزة
ربط الأجهزة
ربط الأجهزة

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

سيعمل H3LIS331DL على I2C. فيما يلي مثال على مخطط الأسلاك ، يوضح كيفية توصيل كل واجهة من أجهزة الاستشعار.

خارج الصندوق ، تم تكوين اللوحة لواجهة I2C ، لذلك نوصي باستخدام هذا التوصيل إذا كنت غير مدرك. كل ما تحتاجه هو أربعة أسلاك!

مطلوب أربعة اتصالات فقط دبابيس Vcc و Gnd و SCL و SDA ويتم توصيلها بمساعدة كابل I2C.

هذه الوصلات موضحة في الصور أعلاه.

الخطوة الثالثة: كود بايثون لقياس التسارع:

كود بايثون لقياس التسارع
كود بايثون لقياس التسارع

تتمثل ميزة استخدام raspberry pi في أنه يوفر لك مرونة لغة البرمجة التي تريد برمجة اللوحة من أجل واجهة المستشعر معها. من خلال الاستفادة من هذه الميزة في هذه اللوحة ، نعرض هنا برمجتها بلغة الثعبان. Python هي واحدة من أسهل لغات البرمجة بأسهل بناء جملة. يمكن تنزيل كود python الخاص بـ H3LIS331DL من مجتمع جيثب الخاص بنا وهو متجر DCUBE.

ولسهولة المستخدمين ، نقوم بشرح الكود هنا أيضًا:

كخطوة أولى في الترميز ، تحتاج إلى تنزيل مكتبة SMBus في حالة Python ، لأن هذه المكتبة تدعم الوظائف المستخدمة في الكود. لذلك ، لتنزيل المكتبة يمكنك زيارة الرابط التالي:

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

يمكنك نسخ كود العمل من هنا أيضا:

استيراد smbus

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

# احصل على I2C busbus = smbus. SMBus (1)

# عنوان H3LIS331DL ، 0x18 (24)

# حدد سجل التحكم 1 ، 0x20 (32)

# 0x27 (39) وضع التشغيل ، معدل إخراج البيانات = 50 هرتز # X ، Y ، المحور Z ممكّن

bus.write_byte_data (0x18 ، 0x20 ، 0x27)

# H3LIS331DL عنوان ، 0x18 (24) # حدد سجل التحكم 4 ، 0x23 (35)

# 0x00 (00) تحديث مستمر ، اختيار مقياس كامل = +/- 100 جرام

bus.write_byte_data (0x18 ، 0x23 ، 0x00)

وقت النوم (0.5)

# عنوان H3LIS331DL ، 0x18 (24)

# قراءة البيانات مرة أخرى من 0x28 (40) ، 2 بايت

# X-Axis LSB ، X-Axis MSB

data0 = bus.read_byte_data (0x18، 0x28)

data1 = bus.read_byte_data (0x18، 0x29)

# تحويل dataxAccl = data1 * 256 + data0

إذا كان xAccl> 32767:

xAccl - = 65536

# عنوان H3LIS331DL ، 0x18 (24)

# قراءة البيانات مرة أخرى من 0x2A (42) ، 2 بايت

# Y- المحور LSB ، المحور Y MSB

data0 = bus.read_byte_data (0x18، 0x2A)

data1 = bus.read_byte_data (0x18، 0x2B)

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

yAccl = data1 * 256 + data0

إذا كان yAccl> 32767:

yAccl - = 65536

# عنوان H3LIS331DL ، 0x18 (24)

# قراءة البيانات مرة أخرى من 0x2C (44) ، 2 بايت

# Z- المحور LSB ، Z- المحور MSB

data0 = bus.read_byte_data (0x18، 0x2C)

data1 = bus.read_byte_data (0x18، 0x2D)

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

zAccl = data1 * 256 + data0

إذا كان zAccl> 32767:

zAccl - = 65536

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

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

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

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

يتم تنفيذ الكود باستخدام الأمر التالي:

$> python H3LIS331DL.py GT. بيثون H3LIS331DL.py

يظهر خرج المستشعر في الصورة أعلاه كمرجع للمستخدم.

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

التطبيقات
التطبيقات

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

موصى به: