جدول المحتويات:
- الخطوة 1: الأجهزة المطلوبة:
- الخطوة 2: ربط الأجهزة:
- الخطوة الثالثة: كود جافا لقياس كثافة المجال المغناطيسي:
- الخطوة 4: التطبيقات:
فيديو: قياس المجال المغناطيسي باستخدام HMC5883 و Raspberry Pi: 4 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:36
HMC5883 عبارة عن بوصلة رقمية مصممة للاستشعار المغناطيسي للمجال المنخفض. يحتوي هذا الجهاز على نطاق مجال مغناطيسي عريض +/- 8 Oe ومعدل إخراج يبلغ 160 هرتز. يشتمل مستشعر HMC5883 على برامج تشغيل أوتوماتيكية لشريط إزالة المغنطة وإلغاء الإزاحة و 12 بت ADC الذي يتيح دقة توجيه بوصلة من 1 إلى 2 درجة. تم تصميم جميع وحدات I²C Mini Modules لتعمل عند 5VDC.
في هذا البرنامج التعليمي ، سنشرح العمل التفصيلي لـ HMC5883 مع Raspberry pi وبرمجته باستخدام لغة برمجة جافا.
الخطوة 1: الأجهزة المطلوبة:
الأجهزة المطلوبة لإنجاز المهمة هي كما يلي:
1. HMC5883
2. Raspberry Pi
3. كابل I2C
4. I2C Shield لـ Raspberry Pi
5. كابل إيثرنت
الخطوة 2: ربط الأجهزة:
يشرح قسم توصيل الأجهزة بشكل أساسي اتصالات الأسلاك المطلوبة بين المستشعر و raspberry pi. يعد التأكد من التوصيلات الصحيحة ضرورة أساسية أثناء العمل على أي نظام للإخراج المطلوب. إذن ، الاتصالات المطلوبة هي كما يلي:
سيعمل HMC5883 على I2C. فيما يلي مثال على مخطط الأسلاك ، يوضح كيفية توصيل كل واجهة من أجهزة الاستشعار.
خارج الصندوق ، تم تكوين اللوحة لواجهة I2C ، لذلك نوصي باستخدام هذا التوصيل إذا كنت غير مدرك. كل ما تحتاجه هو أربعة أسلاك!
مطلوب أربعة اتصالات فقط دبابيس Vcc و Gnd و SCL و SDA ويتم توصيلها بمساعدة كابل I2C.
هذه الوصلات موضحة في الصور أعلاه.
الخطوة الثالثة: كود جافا لقياس كثافة المجال المغناطيسي:
تتمثل ميزة استخدام raspberry pi في أنه يوفر لك مرونة لغة البرمجة التي تريد برمجة اللوحة بها لربط المستشعر بها. من خلال الاستفادة من هذه الميزة في هذا المنتدى ، نعرض هنا البرمجة بلغة Java. يمكن تنزيل كود جافا الخاص بـ HMC5883 من مجتمع جيثب الخاص بنا وهو Dcube Store.
ولسهولة المستخدمين ، نقوم بشرح الكود هنا أيضًا:
كخطوة أولى في الترميز ، تحتاج إلى تنزيل مكتبة pi4j في حالة java ، لأن هذه المكتبة تدعم الوظائف المستخدمة في الكود. لذلك ، لتنزيل المكتبة يمكنك زيارة الرابط التالي:
pi4j.com/install.html
يمكنك نسخ كود جافا العامل لهذا المستشعر من هنا أيضًا:
استيراد com.pi4j.io.i2c. I2CBus ؛
استيراد com.pi4j.io.i2c. I2CDevice ؛
mport com.pi4j.io.i2c. I2CFactory ؛
استيراد java.io. IOException ؛ فئة عامة HMC5883
{
يطرح main static void main (String args ) استثناء
{
// إنشاء ناقل I2C
ناقل I2CBus = I2CFactory.getInstance (I2CBus. BUS_1) ،
// احصل على جهاز I2C ، عنوان HMC5883 I2C هو 0x1E (30)
جهاز I2CDevice = Bus.getDevice (0x1E) ،
// حدد سجل التكوين أ
// تكوين القياس العادي ، معدل البيانات o / p = 0.75 هرتز
device.write (0x00 ، (بايت) 0x60) ؛
// حدد وضع التسجيل
// وضع القياس المستمر
device.write (0x02 ، (بايت) 0x00) ؛
Thread.sleep (500) ؛
// قراءة 6 بايت من البيانات من 0x03 (3)
// xMag msb و xMag lsb و zMag msb و zMag lsb و yMag msb و yMag lsb
بايت بيانات = بايت جديد [6] ؛
قراءة الجهاز (0x03 ، البيانات ، 0 ، 6) ؛
// تحويل البيانات
int xMag = ((data [0] & 0xFF) * 256 + (data [1] & 0xFF)) ؛
إذا (xMag> 32767)
{
xMag - = 65536 ؛
}
int zMag = ((data [2] & 0xFF) * 256 + (data [3] & 0xFF)) ؛
إذا (zMag> 32767)
{
zMag - = 65536 ؛
}
int yMag = ((data [4] & 0xFF) * 256 + (data [5] & 0xFF)) ؛
إذا (yMag> 32767)
{
yMag - = 65536 ؛
}
// إخراج البيانات للشاشة
System.out.printf ("المجال المغناطيسي في المحور X:٪ d٪ n"، xMag)؛
System.out.printf ("المجال المغناطيسي في المحور Y:٪ d٪ n"، yMag)؛
System.out.printf ("المجال المغناطيسي في المحور Z:٪ d٪ n"، zMag)؛
}
}
يتم استخدام وظائف الكتابة () والقراءة () لكتابة الأوامر وقراءة إخراج المستشعر على التوالي. الجزء التالي يوضح قراءة قيم المجال المغناطيسي.
// قراءة 6 بايت من البيانات من 0x03 (3)
// xMag msb و xMag lsb و zMag msb و zMag lsb و yMag msb و yMag lsb
بايت بيانات = بايت جديد [6] ؛
قراءة الجهاز (0x03 ، البيانات ، 0 ، 6) ؛
يظهر الإخراج في الصورة أعلاه.
الخطوة 4: التطبيقات:
HMC5883 عبارة عن وحدة متعددة الرقاقات مثبتة على السطح مصممة للاستشعار المغناطيسي للمجال المنخفض مع واجهة رقمية لتطبيقات مثل البوصلة منخفضة التكلفة والقياس المغناطيسي. تتيح الدقة والدقة العالية المستوى من درجة إلى درجتين تطبيقات الملاحة المشاة وتطبيقات LBS.
موصى به:
قياس المجال المغناطيسي باستخدام HMC5883 و Arduino Nano: 4 خطوات
قياس المجال المغناطيسي باستخدام HMC5883 و Arduino Nano: HMC5883 عبارة عن بوصلة رقمية مصممة للاستشعار المغناطيسي للمجال المنخفض. يحتوي هذا الجهاز على نطاق مجال مغناطيسي عريض +/- 8 Oe ومعدل إخراج يبلغ 160 هرتز. يشتمل مستشعر HMC5883 على برامج تشغيل أوتوماتيكية لأحزمة إزالة المغنطة وإلغاء الإزاحة و
قياس المجال المغناطيسي باستخدام HMC5883 والفوتون الجزيئي: 4 خطوات
قياس المجال المغناطيسي باستخدام HMC5883 والفوتون الجسيمي: HMC5883 عبارة عن بوصلة رقمية مصممة للاستشعار المغناطيسي للمجال المنخفض. يحتوي هذا الجهاز على نطاق مجال مغناطيسي عريض +/- 8 Oe ومعدل إخراج يبلغ 160 هرتز. يشتمل مستشعر HMC5883 على برامج تشغيل أوتوماتيكية لأحزمة إزالة المغنطة وإلغاء الإزاحة و
البرنامج التعليمي: كيفية عمل إنذار للباب باستخدام إنذار مستشعر التبديل المغناطيسي MC-18: 3 خطوات
البرنامج التعليمي: كيفية عمل إنذار للباب باستخدام إنذار مستشعر التبديل المغناطيسي MC-18: مرحبًا يا رفاق ، سأقدم برنامجًا تعليميًا حول إنذار مستشعر التبديل المغناطيسي MC-18 الذي يعمل في وضع الإغلاق المعتاد ، ولكن أولاً ، دعني أشرح لك باختصار ، ما يعنيه عادة الإغلاق. هناك نوعان من الأوضاع ، عادةً ما تكون مفتوحة وغلقًا عادةً
كشف ورم الدماغ بالرنين المغناطيسي باستخدام ماتلاب: 6 خطوات
الكشف عن ورم الدماغ بواسطة التصوير بالرنين المغناطيسي باستخدام Matlab: بقلم: مادهوميتا كانان ، هنري نجوين ، أشلي أوروتيا أفيلا ، مي جين رمز MATLAB هذا هو برنامج لاكتشاف الحجم والشكل والموقع الدقيق للورم الموجود في فحوصات التصوير بالرنين المغناطيسي لدماغ المريض. تم تصميم هذا البرنامج للعمل في الأصل مع اكتشاف الورم
مستشعر المجال المغناطيسي ثلاثي المحاور: 10 خطوات (بالصور)
مستشعر المجال المغناطيسي ثلاثي المحاور: أنظمة نقل الطاقة اللاسلكية في طريقها لاستبدال الشحن السلكي التقليدي. بدءًا من عمليات الزرع الطبية الحيوية الصغيرة وصولاً إلى إعادة شحن السيارات الكهربائية الضخمة لاسلكيًا. جزء لا يتجزأ من البحث عن الطاقة اللاسلكية هو