جدول المحتويات:
- الخطوة 1: الأجهزة المطلوبة:
- الخطوة 2: ربط الأجهزة:
- الخطوة الثالثة: كود بايثون لقياس التسارع:
- الخطوة 4: التطبيقات:
فيديو: قياس التسارع باستخدام BMA250 و Raspberry Pi: 4 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
BMA250 عبارة عن مقياس تسارع صغير ، رفيع ، منخفض الطاقة ، ثلاثي المحاور بدقة عالية (13 بت) قياس يصل إلى ± 16 جم. يتم تنسيق بيانات الإخراج الرقمية كمكمل ثنائي 16 بت ويمكن الوصول إليها من خلال الواجهة الرقمية I2C. يقيس التسارع الثابت للجاذبية في تطبيقات استشعار الميل ، وكذلك التسارع الديناميكي الناتج عن الحركة أو الصدمة. تتيح الدقة العالية (3.9 مجم / LSB) قياس تغيرات الميل أقل من 1.0 درجة.
سنقوم في هذا البرنامج التعليمي بقياس التسارع في جميع المحاور الثلاثة العمودية باستخدام BMA250 و Raspberry Pi. تمت برمجة المستشعر بلغة بيثون.
الخطوة 1: الأجهزة المطلوبة:
تشمل المواد التي نحتاجها لتحقيق هدفنا مكونات الأجهزة التالية:
1. BMA250
2. Raspberry Pi
3. كابل I2C
4. I2C Shield لـ Raspberry Pi
5. كابل إيثرنت
الخطوة 2: ربط الأجهزة:
يشرح قسم توصيل الأجهزة بشكل أساسي اتصالات الأسلاك المطلوبة بين المستشعر و raspberry pi. يعد التأكد من التوصيلات الصحيحة ضرورة أساسية أثناء العمل على أي نظام للإخراج المطلوب. إذن ، الاتصالات المطلوبة هي كما يلي:
سيعمل BMA250 على I2C. فيما يلي مثال على مخطط الأسلاك ، يوضح كيفية توصيل كل واجهة من أجهزة الاستشعار.
خارج الصندوق ، تم تكوين اللوحة لواجهة I2C ، لذلك نوصي باستخدام هذا التوصيل إذا كنت غير مدرك. كل ما تحتاجه هو أربعة أسلاك!
مطلوب أربعة اتصالات فقط دبابيس Vcc و Gnd و SCL و SDA ويتم توصيلها بمساعدة كابل I2C.
هذه الوصلات موضحة في الصور أعلاه.
الخطوة الثالثة: كود بايثون لقياس التسارع:
تتمثل ميزة استخدام raspberry pi في أنه يوفر لك مرونة لغة البرمجة التي تريد برمجة اللوحة من أجل واجهة المستشعر معها. من خلال الاستفادة من هذه الميزة في هذه اللوحة ، نعرض هنا برمجتها بلغة الثعبان. Python هي واحدة من أسهل لغات البرمجة بأسهل بناء جملة. يمكن تنزيل كود python لـ BMA250 من مجتمع GitHub الخاص بنا وهو Dcube Store
ولسهولة المستخدمين ، نقوم بشرح الكود هنا أيضًا:
كخطوة أولى في الترميز ، تحتاج إلى تنزيل مكتبة SMBus في حالة Python لأن هذه المكتبة تدعم الوظائف المستخدمة في الكود. لذلك ، لتنزيل المكتبة يمكنك زيارة الرابط التالي:
pypi.python.org/pypi/smbus-cffi/0.5.1
يمكنك نسخ كود العمل من هنا أيضا:
استيراد smbus
وقت الاستيراد
# احصل على I2C busbus = smbus. SMBus (1)
# عنوان BMA250 ، 0x18 (24)
# سجل اختيار النطاق ، 0x0F (15)
# 0x03 (03) ضبط النطاق = +/- 2 غيغابايت. الكتابة_ بايت_بيانات (0x18 ، 0x0F ، 0x03)
# BMA250 عنوان ، 0x18 (24) # حدد سجل النطاق الترددي ، 0x10 (16)
عرض النطاق الترددي # 0x08 (08) = 7.81 Hzbus.write_byte_data (0x18 ، 0x10 ، 0x08)
وقت النوم (0.5)
# عنوان BMA250 ، 0x18 (24)
# قراءة البيانات مرة أخرى من 0x02 (02) ، 6 بايت
# X-Axis LSB ، X-Axis MSB ، Y-Axis LSB ، Y-Axis MSB ، Z-Axis LSB ، Z-Axis MSB
data = bus.read_i2c_block_data (0x18، 0x02، 6)
# تحويل البيانات إلى 10 بت
xAccl = (البيانات [1] * 256 + (البيانات [0] & 0xC0)) / 64
إذا كان xAccl> 511:
xAccl - = 1024
yAccl = (البيانات [3] * 256 + (البيانات [2] & 0xC0)) / 64
إذا كان yAccl> 511:
yAccl - = 1024
zAccl = (data [5] * 256 + (data [4] & 0xC0)) / 64
إذا كان zAccl> 511:
zAccl - = 1024
# إخراج البيانات إلى الشاشة
طباعة "تسريع في المحور X:٪ d"٪ xAccl
طباعة "تسريع في المحور ص:٪ d"٪ yAccl
طباعة "تسريع في المحور Z:٪ d"٪ zAccl
يتم تنفيذ الكود باستخدام الأمر التالي:
$> python BMA250.py GT. بيثون BMA250.py
يظهر خرج المستشعر في الصورة أعلاه كمرجع للمستخدم.
الخطوة 4: التطبيقات:
تجد مقاييس التسارع مثل BMA250 في الغالب تطبيقاتها في الألعاب وتغيير ملف التعريف. يتم استخدام وحدة الاستشعار هذه أيضًا في نظام إدارة الطاقة المتقدم لتطبيقات الهاتف المحمول. BMA250 عبارة عن مستشعر تسريع رقمي ثلاثي المحاور مدمج مع وحدة تحكم المقاطعة الذكية على الرقاقة.
موصى به:
قياس التسارع باستخدام ADXL345 والفوتون الجسيمي: 4 خطوات
قياس التسارع باستخدام ADXL345 والفوتون الجسيمي: إن ADXL345 هو مقياس تسارع صغير ورفيع وقوة منخفضة للغاية وثلاثة محاور بدقة عالية (13 بت) قياس يصل إلى ± 16 جم. يتم تنسيق بيانات الإخراج الرقمية كمكمل ثنائي 16 بت ويمكن الوصول إليها من خلال الواجهة الرقمية I2 C. يقيس
قياس التسارع باستخدام ADXL345 و Raspberry Pi: 4 خطوات
قياس التسارع باستخدام ADXL345 و Raspberry Pi: يعد ADXL345 مقياس تسارع صغير ورفيع وذي قوة منخفضة للغاية وثلاثة محاور بدقة عالية (13 بت) قياس يصل إلى ± 16 جم. يتم تنسيق بيانات الإخراج الرقمية كمكمل ثنائي 16 بت ويمكن الوصول إليها من خلال الواجهة الرقمية I2 C. يقيس
قياس التسارع باستخدام H3LIS331DL و Raspberry Pi: 4 خطوات
قياس التسارع باستخدام H3LIS331DL و Raspberry Pi: H3LIS331DL ، هو مقياس تسارع خطي منخفض الطاقة وعالي الأداء ثلاثي المحاور ينتمي إلى عائلة "nano" ، مع واجهة تسلسلية رقمية I²C. يحتوي H3LIS331DL على مقاييس كاملة يمكن اختيارها من قبل المستخدم تبلغ ± 100 جم / ± 200 جم / ± 400 جم وهي قادرة على قياس التسارع
قياس التسارع باستخدام BMA250 و Arduino Nano: 4 خطوات
قياس التسارع باستخدام BMA250 و Arduino Nano: BMA250 عبارة عن مقياس تسارع صغير ورفيع وذي قوة منخفضة للغاية وثلاثة محاور بدقة قياس عالية (13 بت) تصل إلى ± 16 جم. يتم تنسيق بيانات الإخراج الرقمية كمكمل ثنائي 16 بت ويمكن الوصول إليها من خلال الواجهة الرقمية I2C. يقيس ثابت
قياس التسارع باستخدام BMA250 والفوتون الجسيمي: 4 خطوات
قياس التسارع باستخدام BMA250 والفوتون الجسيمي: BMA250 عبارة عن مقياس تسارع صغير ورفيع وذي قوة منخفضة للغاية وثلاثة محاور بدقة عالية (13 بت) قياس يصل إلى ± 16 جم. يتم تنسيق بيانات الإخراج الرقمية كمكمل ثنائي 16 بت ويمكن الوصول إليها من خلال الواجهة الرقمية I2C. يقيس ثابت