جدول المحتويات:
- الخطوة 1: الأجهزة المطلوبة:
- الخطوة 2: ربط الأجهزة:
- الخطوة الثالثة: كود بايثون لقياس التسارع:
- الخطوة 4: التطبيقات:
فيديو: قياس التسارع باستخدام H3LIS331DL و Raspberry Pi: 4 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
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 عبارة عن مستشعر تسريع رقمي ثلاثي المحاور مدمج مع وحدة تحكم المقاطعة الذكية على الرقاقة.
موصى به:
قياس التسارع باستخدام ADXL345 والفوتون الجسيمي: 4 خطوات
قياس التسارع باستخدام ADXL345 والفوتون الجسيمي: إن ADXL345 هو مقياس تسارع صغير ورفيع وقوة منخفضة للغاية وثلاثة محاور بدقة عالية (13 بت) قياس يصل إلى ± 16 جم. يتم تنسيق بيانات الإخراج الرقمية كمكمل ثنائي 16 بت ويمكن الوصول إليها من خلال الواجهة الرقمية I2 C. يقيس
قياس التسارع باستخدام H3LIS331DL و Arduino Nano: 4 خطوات
قياس التسارع باستخدام H3LIS331DL و Arduino Nano: H3LIS331DL ، هو مقياس تسارع خطي منخفض الطاقة وعالي الأداء ثلاثي المحاور ينتمي إلى عائلة "nano" ، مع واجهة تسلسلية رقمية I²C. يحتوي H3LIS331DL على مقاييس كاملة يمكن اختيارها من قبل المستخدم تبلغ ± 100 جم / ± 200 جم / ± 400 جم وهي قادرة على قياس التسارع
قياس التسارع باستخدام H3LIS331DL والفوتون الجسيمي: 4 خطوات
قياس التسارع باستخدام H3LIS331DL والفوتون الجسيمي: H3LIS331DL ، هو مقياس تسارع خطي منخفض الطاقة وعالي الأداء ثلاثي المحاور ينتمي إلى عائلة "نانو" ، مع واجهة تسلسلية رقمية I²C. يحتوي H3LIS331DL على مقاييس كاملة يمكن اختيارها من قبل المستخدم تبلغ ± 100 جم / ± 200 جم / ± 400 جم وهي قادرة على قياس التسارع
قياس التسارع باستخدام ADXL345 و Raspberry Pi: 4 خطوات
قياس التسارع باستخدام ADXL345 و Raspberry Pi: يعد ADXL345 مقياس تسارع صغير ورفيع وذي قوة منخفضة للغاية وثلاثة محاور بدقة عالية (13 بت) قياس يصل إلى ± 16 جم. يتم تنسيق بيانات الإخراج الرقمية كمكمل ثنائي 16 بت ويمكن الوصول إليها من خلال الواجهة الرقمية I2 C. يقيس
قياس التسارع باستخدام BMA250 و Raspberry Pi: 4 خطوات
قياس التسارع باستخدام BMA250 و Raspberry Pi: BMA250 عبارة عن مقياس تسارع صغير ورفيع وذي قوة منخفضة للغاية وثلاثة محاور بدقة عالية (13 بت) قياس يصل إلى ± 16 جم. يتم تنسيق بيانات الإخراج الرقمية كمكمل ثنائي 16 بت ويمكن الوصول إليها من خلال الواجهة الرقمية I2C. يقيس ثابت