جدول المحتويات:
- الخطوة 1: نظرة عامة على BMG160:
- الخطوة الثانية: ماذا تحتاج..
- الخطوة 3: ربط الأجهزة:
- الخطوة 4: كود جسيم قياس جيروسكوب ثلاثي المحاور:
- الخطوة 5: التطبيقات:
فيديو: التواصل بين مستشعر الجيروسكوب ثلاثي المحاور BMG160 مع الجسيمات: 5 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
في عالم اليوم ، أكثر من نصف الشباب والأطفال مغرمون بالألعاب وكل مغرم بها ، مفتونين بالجوانب التقنية للألعاب يعرفون أهمية استشعار الحركة في هذا المجال. لقد اندهشنا أيضًا من نفس الشيء وفقط لإحضاره على السبورة ، فكرنا في العمل على مستشعر جيروسكوب يمكنه قياس المعدل الزاوي لأي جسم. لذا ، فإن المستشعر الذي تناولناه للتعامل مع المهمة هو BMG160. BMG160 عبارة عن مستشعر جيروسكوب رقمي 16 بت ثلاثي المحاور يمكنه قياس المعدل الزاوي في ثلاثة أبعاد متعامدة للغرفة.
في هذا البرنامج التعليمي ، سنقوم بتوضيح عمل BMG160 باستخدام Particle Photon.
الأجهزة التي ستحتاجها لهذا الغرض هي كما يلي:
1. BMG160
2. الفوتون الجسيمي
3. كابل I2C
4. I2C Shield للفوتون الجسيمي
الخطوة 1: نظرة عامة على BMG160:
بادئ ذي بدء ، نود أن نطلعك على الميزات الأساسية لوحدة المستشعر وهي BMG160 وبروتوكول الاتصال الذي تعمل عليه.
BMG160 عبارة عن مستشعر جيروسكوب رقمي 16 بت ثلاثي المحاور يمكنه قياس المعدلات الزاوية. إنه قادر على حساب المعدلات الزاوية في ثلاثة أبعاد متعامدة للغرفة ، المحور x و y و z ، وتوفير إشارات الخرج المقابلة. يمكنه التواصل مع لوحة raspberry pi باستخدام بروتوكول الاتصال I2C. تم تصميم هذه الوحدة الخاصة لتلبية متطلبات تطبيقات المستهلك وكذلك الأغراض الصناعية.
بروتوكول الاتصال الذي يعمل عليه المستشعر هو I2C. I2C تعني الدائرة المتكاملة. إنه بروتوكول اتصال يتم فيه الاتصال من خلال خطوط SDA (البيانات التسلسلية) و SCL (الساعة التسلسلية). يسمح بتوصيل أجهزة متعددة في نفس الوقت. إنه أحد أبسط بروتوكولات الاتصال وأكثرها كفاءة.
الخطوة الثانية: ماذا تحتاج..
تشمل المواد التي نحتاجها لتحقيق هدفنا مكونات الأجهزة التالية:
1. BMG160
2. جسيم الفوتون
3. كابل I2C
4. I2C Shield للفوتون الجزيئي
الخطوة 3: ربط الأجهزة:
يشرح قسم توصيل الأجهزة بشكل أساسي اتصالات الأسلاك المطلوبة بين المستشعر والجسيمات. يعد التأكد من التوصيلات الصحيحة ضرورة أساسية أثناء العمل على أي نظام للإخراج المطلوب. إذن ، الاتصالات المطلوبة هي كما يلي:
سيعمل BMG160 على I2C. فيما يلي مثال على مخطط الأسلاك ، يوضح كيفية توصيل كل واجهة من أجهزة الاستشعار.
خارج الصندوق ، تم تكوين اللوحة لواجهة I2C ، لذلك نوصي باستخدام هذا التوصيل إذا كنت غير مدرك.
كل ما تحتاجه هو أربعة أسلاك! مطلوب أربعة اتصالات فقط دبابيس Vcc و Gnd و SCL و SDA ويتم توصيلها بمساعدة كابل I2C.
هذه الوصلات موضحة في الصور أعلاه.
الخطوة 4: كود جسيم قياس جيروسكوب ثلاثي المحاور:
لنبدأ الآن برمز الجسيمات.
أثناء استخدام وحدة الاستشعار مع arduino ، نقوم بتضمين مكتبة application.h و spark_wiring_i2c.h. تحتوي مكتبة "application.h" و spark_wiring_i2c.h على الوظائف التي تسهل اتصال i2c بين المستشعر والجسيم.
يتم توفير رمز الجسيمات بالكامل أدناه لراحة المستخدم:
#يشمل
#يشمل
// عنوان BMG160 I2C هو 0x68 (104)
#define العنوان 0x68
int xGyro = 0 ، yGyro = 0 ، zGyro = 0 ؛
الإعداد باطل()
{
// تعيين متغير
Particle.variable ("i2cdevice"، "BMG160") ؛
Particle.variable ("xGyro" ، xGyro) ؛
Particle.variable ("yGyro" ، yGyro) ؛
Particle.variable ("zGyro"، zGyro) ؛
// تهيئة اتصال I2C باعتباره MASTER
Wire.begin () ؛
// تهيئة الاتصال التسلسلي
Serial.begin (9600) ؛
// بدء نقل I2C
Wire.beginTransmission (العنوان) ؛
// حدد سجل النطاق
Wire.write (0x0F) ؛
// تكوين كامل النطاق 2000 dps
Wire.write (0x80) ؛
// إيقاف ناقل الحركة I2C
Wire.endTransmission () ؛
// بدء نقل I2C
Wire.beginTransmission (العنوان) ؛
// حدد سجل النطاق الترددي
Wire.write (0x10) ؛
// ضبط النطاق الترددي = 200 هرتز
Wire.write (0x04) ؛
// إيقاف ناقل الحركة I2C
Wire.endTransmission () ؛
تأخير (300) ؛
}
حلقة فارغة()
{
بيانات int غير الموقعة [6] ؛
// بدء نقل I2C
Wire.beginTransmission (العنوان) ؛
// حدد سجل البيانات
Wire.write (0x02) ؛
// إيقاف ناقل الحركة I2C
Wire.endTransmission () ؛
// طلب 6 بايت من البيانات
Wire.request From (Addr، 6) ؛
// قراءة 6 بايت من البيانات
// xGyro lsb و xGyro msb و yGyro lsb و yGyro msb و zGyro lsb و zGyro msb
إذا (Wire.available () == 6)
{
البيانات [0] = Wire.read () ،
البيانات [1] = Wire.read () ،
البيانات [2] = Wire.read () ؛
البيانات [3] = Wire.read () ؛
البيانات [4] = Wire.read () ؛
البيانات [5] = Wire.read () ؛
}
تأخير (300) ؛
// تحويل البيانات
xGyro = ((data [1] * 256) + data [0]) ؛
إذا (xGyro> 32767)
{
xGyro - = 65536 ؛
}
yGyro = ((data [3] * 256) + data [2]) ؛
إذا (yGyro> 32767)
{
yGyro - = 65536 ؛
}
zGyro = ((data [5] * 256) + data [4]) ؛
إذا (zGyro> 32767)
{
zGyro - = 65536 ؛
}
// إخراج البيانات إلى لوحة القيادة
Particle.publish ("X-Axis of Rotation:"، String (xGyro)) ؛
Particle.publish ("Y-Axis of Rotation:"، String (yGyro)) ؛
Particle.publish ("Z-Axis of Rotation:"، String (zGyro)) ؛
تأخير (1000) ؛
}
الخطوة 5: التطبيقات:
يحتوي BMG160 على عدد متنوع من التطبيقات في الأجهزة مثل الهواتف المحمولة وأجهزة واجهة الإنسان والآلة. تم تصميم وحدة المستشعر هذه لتلبية متطلبات تطبيقات المستهلك مثل تثبيت الصورة (DSC وهاتف الكاميرا) ، وأجهزة الألعاب والتأشير. يتم استخدامه أيضًا في الأنظمة التي تتطلب التعرف على الإيماءات والأنظمة المستخدمة في التنقل الداخلي.
موصى به:
Raspberry Pi - ADXL345 مقياس تسارع ثلاثي المحاور جافا تعليمي: 4 خطوات
Raspberry Pi - ADXL345 3-Axis Accelerometer Java تعليمي: إن ADXL345 عبارة عن مقياس تسارع صغير ورفيع وقوة منخفضة للغاية وثلاثة محاور بدقة عالية (13 بت) قياس يصل إلى ± 16 جم. يتم تنسيق بيانات الإخراج الرقمية كمكمل ثنائي 16 بت ويمكن الوصول إليها من خلال الواجهة الرقمية I2 C. يقيس
التواصل بين مستشعر الجيروسكوب ثلاثي المحاور BMG160 مع Arduino Nano: 5 خطوات
واجهة مستشعر جيروسكوب ثلاثي المحاور BMG160 مع Arduino Nano: في عالم اليوم ، أكثر من نصف الشباب والأطفال مغرمون بالألعاب وكل من يعشقها ، مفتونًا بالجوانب التقنية للألعاب يعرف أهمية استشعار الحركة في هذا المجال. لقد اندهشنا أيضًا من نفس الشيء
واجهة مستشعر جيروسكوب ثلاثي المحاور BMG160 مع Raspberry Pi: 5 خطوات
واجهة مستشعر جيروسكوب ثلاثي المحاور BMG160 مع Raspberry Pi: في عالم اليوم ، أكثر من نصف الشباب والأطفال مغرمون بالألعاب وكل من يعشقها ، مفتونًا بالجوانب التقنية للألعاب يعرف أهمية استشعار الحركة في هذا المجال. لقد اندهشنا أيضًا من نفس الشيء
مستشعر المجال المغناطيسي ثلاثي المحاور: 10 خطوات (بالصور)
مستشعر المجال المغناطيسي ثلاثي المحاور: أنظمة نقل الطاقة اللاسلكية في طريقها لاستبدال الشحن السلكي التقليدي. بدءًا من عمليات الزرع الطبية الحيوية الصغيرة وصولاً إلى إعادة شحن السيارات الكهربائية الضخمة لاسلكيًا. جزء لا يتجزأ من البحث عن الطاقة اللاسلكية هو
تمهيدي * SPI على Pi: التواصل باستخدام مقياس تسارع ثلاثي المحاور SPI باستخدام Raspberry Pi: 10 خطوات
تمهيدي * SPI على Pi: التواصل باستخدام مقياس تسارع ثلاثي المحاور SPI باستخدام Raspberry Pi: دليل خطوة بخطوة حول كيفية إعداد Raspbian ، والتواصل مع جهاز SPI باستخدام مكتبة bcm2835 SPI (لم يتم اختراقها قليلاً!) أولية جدًا … أحتاج إلى إضافة صور أفضل للربط المادي ، والعمل من خلال بعض التعليمات البرمجية المحرجة