جدول المحتويات:
فيديو: Raspberry Pi - ADXL345 3-Axis Accelerometer Python Tutorial: 4 Steps
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:36
ADXL345 هو مقياس تسارع صغير ورفيع وقوي للغاية وثلاثة محاور بدقة عالية (13 بت) قياس يصل إلى ± 16 جم. يتم تنسيق بيانات الإخراج الرقمية كمكمل ثنائي 16 بت ويمكن الوصول إليها من خلال الواجهة الرقمية I2 C. يقيس التسارع الثابت للجاذبية في تطبيقات استشعار الميل ، وكذلك التسارع الديناميكي الناتج عن الحركة أو الصدمة. تتيح الدقة العالية (3.9 مجم / LSB) قياس تغيرات الميل أقل من 1.0 درجة. ها هو توضيح مع Raspberry Pi باستخدام كود Python.
الخطوة 1: ماذا تحتاج..
1. Raspberry Pi
2. ADXL345
3. كابل I²C
4. I²C Shield لـ Raspberry Pi
5. كابل إيثرنت
الخطوة الثانية: التوصيل:
خذ درع I2C لـ Raspberry Pi وادفعه برفق فوق دبابيس gpio الخاصة بـ Raspberry Pi.
ثم قم بتوصيل أحد طرفي كابل I2C بمستشعر ADXL345 والطرف الآخر بدرع I2C.
قم أيضًا بتوصيل كبل Ethernet بـ pi أو يمكنك استخدام وحدة WiFi.
تظهر الاتصالات في الصورة أعلاه.
الخطوة الثالثة: الكود:
يمكن تنزيل كود python لـ ADXL345 من مستودع GitHub - Dcube Store
هنا هو الرابط لنفسه:
github.com/DcubeTechVentures/ADXL345..
لقد استخدمنا مكتبة SMBus لرمز Python ، يتم وصف خطوات تثبيت SMBus على Raspberry Pi هنا:
pypi.python.org/pypi/smbus-cffi/0.5.1
يمكنك أيضًا نسخ الكود من هنا ، ويُعطى على النحو التالي:
# موزعة بترخيص الإرادة الحرة.
# استخدمها بالطريقة التي تريدها ، سواء كانت ربحًا أو مجانًا ، بشرط أن تتناسب مع تراخيص الأعمال المرتبطة بها.
# ADXL345
# تم تصميم هذا الرمز للعمل مع الوحدة النمطية ADXL345_I2CS I2C المصغرة المتوفرة في Dcube Store.
استيراد smbus
وقت الاستيراد
# احصل على حافلة I2C
الحافلة = 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
الخطوة 4: التطبيقات:
ADXL345 عبارة عن مقياس تسارع صغير ورفيع للغاية ومنخفض السرعة ثلاثي المحاور يمكن استخدامه في الهواتف والأجهزة الطبية وما إلى ذلك. ويشمل تطبيقه أيضًا أجهزة الألعاب والتأشير والأجهزة الصناعية وأجهزة الملاحة الشخصية وحماية محرك الأقراص الثابتة (HDD).
موصى به:
Arduino Uno Tutorial # 1 - Basic Blink Program: 4 Steps
Arduino Uno Tutorial # 1 - Basic Blink Program: مرحبًا بالجميع! يسعدني أن أنشر أول تعليمات لي! جاءت هذه الفكرة لي عندما عانيت من صعوبة في تشغيل Arduino Uno ، لذلك واجهت بعض الصعوبات ، وسأقدم بعض الشرح لجميع الأشخاص الموجودين هنا والذين مثلي لا يعرفون المخاط
Arduino Uno Tutorial # 2 - the Buzzer Song: 4 Steps (with pictures)
Arduino Uno Tutorial # 2 - the Buzzer Song: مرحبًا بالجميع ، حيث رأيت أن أول درس تعليمي كان مقامرة جيدة ، قررت أنني سأقوم بسلسلة من دروس Arduino Uno من أجلك
برنامج Arduino Accelerometer التعليمي: التحكم في جسر السفينة باستخدام محرك سيرفو: 5 خطوات
برنامج Arduino Accelerometer التعليمي: التحكم في جسر السفينة باستخدام محرك مؤازر: توجد مستشعرات مقياس التسارع الآن في معظم هواتفنا الذكية لمنحهم مجموعة متنوعة من الاستخدامات والقدرات التي نستخدمها يوميًا ، حتى دون معرفة أن الشخص المسؤول عن ذلك هو مقياس التسارع. إحدى هذه القدرات هي إمكانية التحكم
MPU6050-Accelerometer + Gyroscope Sensor Basics: 3 خطوات
MPU6050-Accelerometer + Gyroscope Sensor Basics: MPU6050 هو مستشعر مفيد للغاية. mpu 6050 عبارة عن IMU: وحدة قياس بالقصور الذاتي (IMU) هي جهاز إلكتروني يقيس ويبلغ القوة المحددة للجسم ، ومعدل الزوايا ، وأحيانًا الاتجاه من الجسم ، باستخدام مزيج
كيفية البرمجة في C-simple Tutorial: 5 Steps
كيفية البرمجة في C-simple Tutorial: الرجاء التعليق إذا أعجبك هذا البرنامج Instructable سيعلم أي شخص أن يكتب برنامجًا بسيطًا بلغة البرمجة C ما ستحتاجه: كمبيوتر Macintosh مثبت عليه أدوات المطور ، وبعض القوة الذهنية