جدول المحتويات:
- الخطوة 1: الأجهزة المطلوبة:
- الخطوة 2: ربط الأجهزة:
- الخطوة الثالثة: كود قياس التسارع:
- الخطوة 4: التطبيقات:
فيديو: قياس التسارع باستخدام ADXL345 و Raspberry Pi: 4 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
ADXL345 هو مقياس تسارع صغير ورفيع وقوي للغاية وثلاثة محاور بدقة عالية (13 بت) قياس يصل إلى ± 16 جم. يتم تنسيق بيانات الإخراج الرقمية كمكمل ثنائي 16 بت ويمكن الوصول إليها من خلال الواجهة الرقمية I2 C. يقيس التسارع الثابت للجاذبية في تطبيقات استشعار الميل ، وكذلك التسارع الديناميكي الناتج عن الحركة أو الصدمة. تتيح الدقة العالية (3.9 مجم / LSB) قياس تغيرات الميل أقل من 1.0 درجة.
في هذا البرنامج التعليمي ، تم توضيح واجهة وحدة استشعار ADXL345 مع raspberry pi كما تم توضيح برمجتها باستخدام لغة python. لقراءة قيم التسارع على جميع المحاور الثلاثة ، استخدمنا raspberry pi مع محول I2C هذا المحول I2C يجعل الاتصال بوحدة المستشعر أسهل وأكثر موثوقية.
الخطوة 1: الأجهزة المطلوبة:
تشمل المواد التي نحتاجها لتحقيق هدفنا مكونات الأجهزة التالية:
1. ADXL345
2. Raspberry Pi
3. كابل I2C
4. I2C شيلد للتوت باي
5. كابل إيثرنت
الخطوة 2: ربط الأجهزة:
يشرح قسم توصيل الأجهزة بشكل أساسي اتصالات الأسلاك المطلوبة بين المستشعر و raspberry pi. يعد التأكد من التوصيلات الصحيحة ضرورة أساسية أثناء العمل على أي نظام للإخراج المطلوب. إذن ، الاتصالات المطلوبة هي كما يلي:
سيعمل ADXL345 على I2C. فيما يلي مثال على مخطط الأسلاك ، يوضح كيفية توصيل كل واجهة من أجهزة الاستشعار.
خارج الصندوق ، تم تكوين اللوحة لواجهة I2C ، لذلك نوصي باستخدام هذا التوصيل إذا كنت غير مدرك.
كل ما تحتاجه هو أربعة أسلاك! مطلوب أربعة اتصالات فقط دبابيس Vcc و Gnd و SCL و SDA ويتم توصيلها بمساعدة كابل I2C.
هذه الوصلات موضحة في الصور أعلاه.
الخطوة الثالثة: كود قياس التسارع:
تتمثل ميزة استخدام raspberry pi في أنه يوفر لك مرونة لغة البرمجة التي تريد برمجة اللوحة من أجل واجهة المستشعر معها. من خلال الاستفادة من هذه الميزة في هذه اللوحة ، نعرض هنا برمجتها بلغة الثعبان. يمكن تنزيل كود الثعبان الخاص بـ ADXL345 من مجتمع جيثب الخاص بنا وهو مجتمع التحكم في كل شيء.
ولسهولة المستخدمين ، نقوم بشرح الكود هنا أيضًا:
كخطوة أولى في الترميز ، تحتاج إلى تنزيل مكتبة smbus في حالة Python ، لأن هذه المكتبة تدعم الوظائف المستخدمة في الكود. لذلك ، لتنزيل المكتبة يمكنك زيارة الرابط التالي:
pypi.python.org/pypi/smbus-cffi/0.5.1
يمكنك نسخ كود بيثون العامل لهذا المستشعر من هنا أيضًا:
استيراد smbus
وقت الاستيراد
# احصل على I2C busbus = smbus. SMBus (1)
# ADXL345 عنوان ، 0x53 (83)
# حدد تسجيل معدل النطاق الترددي ، 0x2C (44)
# 0x0A (10) الوضع العادي ، معدل بيانات الإخراج = 100 هرتز
bus.write_byte_data (0x53 ، 0x2C ، 0x0A)
# ADXL345 عنوان ، 0x53 (83)
# حدد سجل التحكم في الطاقة ، 0x2D (45)
# 0x08 (08) تعطيل وضع السكون التلقائي
bus.write_byte_data (0x53 ، 0x2D ، 0x08)
# ADXL345 عنوان ، 0x53 (83)
# حدد تسجيل تنسيق البيانات ، 0x31 (49)
# 0x08 (08) الاختبار الذاتي معطل ، واجهة بأربعة أسلاك
# دقة كاملة ، النطاق = +/- 2g
bus.write_byte_data (0x53 ، 0x31 ، 0x08)
وقت النوم (0.5)
# ADXL345 عنوان ، 0x53 (83)
# قراءة البيانات مرة أخرى من 0x32 (50) ، 2 بايت
# X-Axis LSB ، X-Axis MSB
data0 = bus.read_byte_data (0x53، 0x32)
data1 = bus.read_byte_data (0x53، 0x33)
# تحويل البيانات إلى 10 بت
xAccl = ((data1 & 0x03) * 256) + data0
إذا كان xAccl> 511:
xAccl - = 1024
# ADXL345 عنوان ، 0x53 (83)
# قراءة البيانات مرة أخرى من 0x34 (52) ، 2 بايت
# Y- المحور LSB ، المحور Y MSB
data0 = bus.read_byte_data (0x53، 0x34)
data1 = bus.read_byte_data (0x53، 0x35)
# تحويل البيانات إلى 10 بت
yAccl = ((data1 & 0x03) * 256) + data0
إذا كان yAccl> 511:
yAccl - = 1024
# ADXL345 عنوان ، 0x53 (83)
# قراءة البيانات مرة أخرى من 0x36 (54) ، 2 بايت
# Z- المحور LSB ، Z- المحور MSB
data0 = bus.read_byte_data (0x53، 0x36)
data1 = bus.read_byte_data (0x53، 0x37)
# تحويل البيانات إلى 10 بت
zAccl = ((data1 & 0x03) * 256) + data0
إذا كان zAccl> 511:
zAccl - = 1024
# إخراج البيانات إلى الشاشة
طباعة "تسريع في المحور X:٪ d"٪ xAccl
طباعة "تسريع في المحور ص:٪ d"٪ yAccl
طباعة "تسريع في المحور Z:٪ d"٪ zAccl
يتضمن جزء الكود المذكور أدناه المكتبات المطلوبة للتنفيذ الصحيح لأكواد بايثون.
وقت استيراد smbusimport
يمكن تنفيذ الكود عن طريق كتابة الأمر المذكور أدناه في موجه الأوامر.
$> python ADXL345.py
يظهر خرج المستشعر أيضًا في الصورة أعلاه كمرجع للمستخدم.
الخطوة 4: التطبيقات:
ADXL345 عبارة عن مقياس تسارع صغير ورفيع للغاية ومنخفض السرعة ثلاثي المحاور يمكن استخدامه في الهواتف والأجهزة الطبية وما إلى ذلك. ويشمل تطبيقه أيضًا أجهزة الألعاب والتأشير والأجهزة الصناعية وأجهزة الملاحة الشخصية وحماية محرك الأقراص الثابتة (HDD).
موصى به:
قياس التسارع باستخدام 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 و Raspberry Pi: 4 خطوات
قياس التسارع باستخدام H3LIS331DL و Raspberry Pi: H3LIS331DL ، هو مقياس تسارع خطي منخفض الطاقة وعالي الأداء ثلاثي المحاور ينتمي إلى عائلة "nano" ، مع واجهة تسلسلية رقمية I²C. يحتوي H3LIS331DL على مقاييس كاملة يمكن اختيارها من قبل المستخدم تبلغ ± 100 جم / ± 200 جم / ± 400 جم وهي قادرة على قياس التسارع
قياس التسارع باستخدام ADXL345 و Arduino Nano: 4 خطوات
قياس التسارع باستخدام ADXL345 و Arduino Nano: ADXL345 عبارة عن مقياس تسارع صغير ورفيع وقوة منخفضة للغاية وثلاثة محاور بدقة عالية (13 بت) قياس يصل إلى ± 16 جم. يتم تنسيق بيانات الإخراج الرقمية كمكمل ثنائي 16 بت ويمكن الوصول إليها من خلال الواجهة الرقمية I2 C. يقيس
قياس التسارع باستخدام BMA250 و Raspberry Pi: 4 خطوات
قياس التسارع باستخدام BMA250 و Raspberry Pi: BMA250 عبارة عن مقياس تسارع صغير ورفيع وذي قوة منخفضة للغاية وثلاثة محاور بدقة عالية (13 بت) قياس يصل إلى ± 16 جم. يتم تنسيق بيانات الإخراج الرقمية كمكمل ثنائي 16 بت ويمكن الوصول إليها من خلال الواجهة الرقمية I2C. يقيس ثابت