جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-23 12:53
HMC5883 عبارة عن بوصلة رقمية مصممة للاستشعار المغناطيسي للمجال المنخفض. يحتوي هذا الجهاز على نطاق مجال مغناطيسي عريض +/- 8 Oe ومعدل إخراج يبلغ 160 هرتز. يشتمل مستشعر HMC5883 على برامج تشغيل أوتوماتيكية لشريط إزالة المغنطة وإلغاء الإزاحة و 12 بت ADC الذي يتيح دقة توجيه بوصلة من 1 إلى 2 درجة. تم تصميم جميع وحدات I²C Mini Modules لتعمل عند 5VDC.
في هذا البرنامج التعليمي ، سنشرح العمل التفصيلي لـ HMC5883 باستخدام Arduino nano.
الخطوة 1: الأجهزة المطلوبة:
تشمل المواد التي نحتاجها لتحقيق هدفنا مكونات الأجهزة التالية:
1. HMC5883
2. اردوينو نانو
3. كابل I2C
4. I2C Shield لاردوينو نانو
الخطوة 2: ربط الأجهزة:
يشرح قسم توصيل الأجهزة بشكل أساسي اتصالات الأسلاك المطلوبة بين المستشعر واردوينو نانو. يعد التأكد من التوصيلات الصحيحة ضرورة أساسية أثناء العمل على أي نظام للإخراج المطلوب. إذن ، الاتصالات المطلوبة هي كما يلي:
سيعمل HMC5883 على I2C. فيما يلي مثال على مخطط الأسلاك ، يوضح كيفية توصيل كل واجهة من أجهزة الاستشعار.
خارج الصندوق ، تم تكوين اللوحة لواجهة I2C ، لذلك نوصي باستخدام هذا التوصيل إذا كنت غير مدرك. كل ما تحتاجه هو أربعة أسلاك!
مطلوب أربعة اتصالات فقط دبابيس Vcc و Gnd و SCL و SDA ويتم توصيلها بمساعدة كابل I2C.
هذه الوصلات موضحة في الصور أعلاه.
الخطوة الثالثة: كود اردوينو لقياس كثافة المجال المغناطيسي:
دعونا نبدأ برمز Arduino الآن.
أثناء استخدام وحدة الاستشعار مع Arduino ، نقوم بتضمين مكتبة Wire.h. تحتوي مكتبة "Wire" على الوظائف التي تسهل اتصال i2c بين المستشعر ولوحة Arduino.
يتم تقديم كود Arduino بالكامل أدناه لراحة المستخدم:
#يشمل
// HMC5883 عنوان I2C هو 0x1E (30)
#define Addr 0x1E
الإعداد باطل()
{
// تهيئة اتصال I2C باعتباره MASTER
Wire.begin () ؛
// تهيئة الاتصال التسلسلي ، اضبط معدل الباود = 9600
Serial.begin (9600) ؛
// بدء نقل I2C
Wire.beginTransmission (العنوان) ؛
// حدد تكوين السجل أ
Wire.write (0x00) ؛
// ضبط تكوين القياس العادي ، معدل إخراج البيانات = 0.75 هرتز
Wire.write (0x60) ؛
// إيقاف ناقل الحركة I2C
Wire.endTransmission () ؛
// بدء نقل I2C
Wire.beginTransmission (العنوان) ؛
// حدد وضع التسجيل
Wire.write (0x02) ؛
// ضبط القياس المستمر
Wire.write (0x00) ؛
// إيقاف ناقل الحركة I2C
Wire.endTransmission () ؛
تأخير (300) ؛
}
حلقة فارغة()
{
بيانات int غير الموقعة [6] ؛
// بدء نقل I2C
Wire.beginTransmission (العنوان) ؛
// حدد سجل البيانات
Wire.write (0x03) ؛
// إيقاف ناقل الحركة I2C
Wire.endTransmission () ؛
// طلب 6 بايت من البيانات
Wire.request From (Addr، 6) ؛
// قراءة 6 بايت من البيانات
// xMag msb و xMag lsb و zMag msb و zMag lsb و yMag msb و yMag lsb
إذا (Wire.available () == 6)
{
البيانات [0] = Wire.read () ،
البيانات [1] = Wire.read () ،
البيانات [2] = Wire.read () ؛
البيانات [3] = Wire.read () ؛
البيانات [4] = Wire.read () ؛
البيانات [5] = Wire.read () ؛
}
تأخير (300) ؛
// تحويل البيانات
int xMag = ((data [0] * 256) + data [1]) ؛
int zMag = ((data [2] * 256) + data [3]) ؛
int yMag = ((data [4] * 256) + data [5]) ؛
// إخراج البيانات إلى الشاشة التسلسلية
Serial.print ("المجال المغناطيسي في المحور X:") ؛
Serial.println (xMag) ؛
Serial.print ("المجال المغناطيسي في المحور Y:") ؛
Serial.println (yMag) ؛
Serial.print ("المجال المغناطيسي في المحور Z:") ؛
Serial.println (zMag) ؛
تأخير (300) ؛
}
في مكتبة الأسلاك ، يتم استخدام Wire.write () و Wire.read () لكتابة الأوامر وقراءة إخراج المستشعر. يوضح الجزء التالي من الكود قراءة خرج المستشعر.
// قراءة 6 بايت من البيانات // xMag msb، xMag lsb، zMag msb، zMag lsb، yMag msb، yMag lsb if (Wire.available () == 6) {data [0] = Wire.read ()؛ البيانات [1] = Wire.read () ، البيانات [2] = Wire.read () ؛ البيانات [3] = Wire.read () ؛ البيانات [4] = Wire.read () ؛ البيانات [5] = Wire.read () ؛ }
يتم استخدام Serial.print () و Serial.println () لعرض إخراج المستشعر على الشاشة التسلسلية لـ Arduino IDE.
يظهر خرج المستشعر في الصورة أعلاه.
الخطوة 4: التطبيقات:
HMC5883 عبارة عن وحدة متعددة الرقاقات مثبتة على السطح مصممة للاستشعار المغناطيسي للمجال المنخفض مع واجهة رقمية لتطبيقات مثل البوصلة منخفضة التكلفة والقياس المغناطيسي. تتيح الدقة والدقة العالية المستوى من درجة إلى درجتين تطبيقات الملاحة المشاة وتطبيقات LBS.
موصى به:
قياس المجال المغناطيسي باستخدام HMC5883 و Raspberry Pi: 4 خطوات
قياس المجال المغناطيسي باستخدام HMC5883 و Raspberry Pi: HMC5883 عبارة عن بوصلة رقمية مصممة للاستشعار المغناطيسي للمجال المنخفض. يحتوي هذا الجهاز على نطاق مجال مغناطيسي عريض +/- 8 Oe ومعدل إخراج يبلغ 160 هرتز. يشتمل مستشعر HMC5883 على برامج تشغيل أوتوماتيكية لأحزمة إزالة المغنطة وإلغاء الإزاحة و
قياس المجال المغناطيسي باستخدام HMC5883 والفوتون الجزيئي: 4 خطوات
قياس المجال المغناطيسي باستخدام HMC5883 والفوتون الجسيمي: HMC5883 عبارة عن بوصلة رقمية مصممة للاستشعار المغناطيسي للمجال المنخفض. يحتوي هذا الجهاز على نطاق مجال مغناطيسي عريض +/- 8 Oe ومعدل إخراج يبلغ 160 هرتز. يشتمل مستشعر HMC5883 على برامج تشغيل أوتوماتيكية لأحزمة إزالة المغنطة وإلغاء الإزاحة و
البرنامج التعليمي: كيفية عمل إنذار للباب باستخدام إنذار مستشعر التبديل المغناطيسي MC-18: 3 خطوات
البرنامج التعليمي: كيفية عمل إنذار للباب باستخدام إنذار مستشعر التبديل المغناطيسي MC-18: مرحبًا يا رفاق ، سأقدم برنامجًا تعليميًا حول إنذار مستشعر التبديل المغناطيسي MC-18 الذي يعمل في وضع الإغلاق المعتاد ، ولكن أولاً ، دعني أشرح لك باختصار ، ما يعنيه عادة الإغلاق. هناك نوعان من الأوضاع ، عادةً ما تكون مفتوحة وغلقًا عادةً
كشف ورم الدماغ بالرنين المغناطيسي باستخدام ماتلاب: 6 خطوات
الكشف عن ورم الدماغ بواسطة التصوير بالرنين المغناطيسي باستخدام Matlab: بقلم: مادهوميتا كانان ، هنري نجوين ، أشلي أوروتيا أفيلا ، مي جين رمز MATLAB هذا هو برنامج لاكتشاف الحجم والشكل والموقع الدقيق للورم الموجود في فحوصات التصوير بالرنين المغناطيسي لدماغ المريض. تم تصميم هذا البرنامج للعمل في الأصل مع اكتشاف الورم
مستشعر المجال المغناطيسي ثلاثي المحاور: 10 خطوات (بالصور)
مستشعر المجال المغناطيسي ثلاثي المحاور: أنظمة نقل الطاقة اللاسلكية في طريقها لاستبدال الشحن السلكي التقليدي. بدءًا من عمليات الزرع الطبية الحيوية الصغيرة وصولاً إلى إعادة شحن السيارات الكهربائية الضخمة لاسلكيًا. جزء لا يتجزأ من البحث عن الطاقة اللاسلكية هو