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

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

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

فيديو: قياس التسارع باستخدام H3LIS331DL والفوتون الجسيمي: 4 خطوات
فيديو: Measuring Impacts with Special Boxing Gloves Using H3LIS331DL High g Accelerometer 2024, يوليو
Anonim
Image
Image

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

سنقوم في هذا البرنامج التعليمي بتوضيح تفاعل H3LIS331DL مع فوتون الجسيم.

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

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

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

1. H3LIS331DL

2. جسيم الفوتون

3. كابل I2C

4. درع I2C لفوتون الجسيمات

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

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

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

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

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

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

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

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

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

لنبدأ الآن برمز الجسيمات.

أثناء استخدام وحدة الاستشعار مع arduino ، نقوم بتضمين مكتبة application.h و spark_wiring_i2c.h. تحتوي مكتبة "application.h" و spark_wiring_i2c.h على الوظائف التي تسهل اتصال i2c بين المستشعر والجسيم.

يتم توفير رمز الجسيمات بالكامل أدناه لراحة المستخدم:

#يشمل

#يشمل

// H3LIS331DL عنوان I2C هو 0x18 (24)

#define Addr 0x18

int xAccl = 0، yAccl = 0، zAccl = 0 ؛

الإعداد باطل()

{

// تعيين متغير

Particle.variable ("i2cdevice"، "H3LIS331DL") ؛

Particle.variable ("xAccl" ، xAccl) ؛

Particle.variable ("yAccl" ، yAccl) ؛

Particle.variable ("zAccl"، zAccl) ؛

// تهيئة اتصال I2C باعتباره MASTER

Wire.begin () ؛

// تهيئة الاتصال التسلسلي ، اضبط معدل الباود = 9600

Serial.begin (9600) ؛

// بدء نقل I2C

Wire.beginTransmission (العنوان) ؛

// حدد سجل التحكم 1

Wire.write (0x20) ؛

// تمكين المحور X ، Y ، Z ، وضع التشغيل ، معدل إخراج البيانات 50 هرتز

Wire.write (0x27) ؛

// إيقاف ناقل الحركة I2C

Wire.endTransmission () ؛

// بدء نقل I2C

Wire.beginTransmission (العنوان) ؛

// حدد سجل التحكم 4

Wire.write (0x23) ؛

// تعيين النطاق الكامل ، +/- 100 جرام ، التحديث المستمر

Wire.write (0x00) ؛

// إيقاف ناقل الحركة I2C

Wire.endTransmission () ؛

تأخير (300) ؛

}

حلقة فارغة()

{

بيانات int غير الموقعة [6] ؛

لـ (int i = 0 ؛ i <6 ؛ i ++)

{

// بدء نقل I2C

Wire.beginTransmission (العنوان) ؛

// حدد سجل البيانات

Wire.write ((40 + i)) ؛

// إيقاف ناقل الحركة I2C

Wire.endTransmission () ؛

// طلب 1 بايت من البيانات

Wire.request From (Addr، 1) ؛

// قراءة 6 بايت من البيانات

// xAccl lsb و xAccl msb و yAccl lsb و yAccl msb و zAccl lsb و zAccl msb

إذا (Wire.available () == 1)

{

البيانات = Wire.read () ؛

}

تأخير (300) ؛

}

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

int xAccl = ((data [1] * 256) + data [0]) ؛

إذا (xAccl> 32767)

{

xAccl - = 65536 ؛

}

int yAccl = ((data [3] * 256) + data [2]) ؛

إذا (yAccl> 32767)

{

yAccl - = 65536 ؛

}

int zAccl = ((data [5] * 256) + data [4]) ؛

إذا (zAccl> 32767)

{

zAccl - = 65536 ؛

}

// إخراج البيانات إلى لوحة القيادة

Particle.publish ("التسريع في المحور X هو:" ، سلسلة (xAccl)) ؛

Particle.publish ("التسريع في المحور ص هو:" ، سلسلة (yAccl)) ؛

Particle.publish ("التسريع في المحور Z هو:" ، سلسلة (zAccl)) ؛

تأخير (300) ؛

}

تنشئ الدالة Particle.variable () المتغيرات لتخزين إخراج المستشعر وتعرض وظيفة Particle.publish () الإخراج على لوحة القيادة بالموقع.

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

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

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

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

موصى به: