فهرست مطالب:
- مرحله 1: سخت افزار مورد نیاز:
- مرحله 2: اتصال سخت افزاری:
- مرحله 3: کد جاوا برای اندازه گیری شدت میدان مغناطیسی:
- مرحله 4: برنامه های کاربردی:
تصویری: اندازه گیری میدان مغناطیسی با استفاده از HMC5883 و Raspberry Pi: 4 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:52
HMC5883 یک قطب نمای دیجیتالی است که برای سنجش مغناطیسی میدان کم طراحی شده است. این دستگاه دارای طیف وسیعی از میدان مغناطیسی +/- 8 Oe و نرخ خروجی 160 هرتز است. سنسور HMC5883 شامل درایور تسمه زدایی اتوماتیک تسمه ، لغو افست و ADC 12 بیتی است که دقت عنوان بندی قطب نما را 1 تا 2 درجه امکان پذیر می کند. همه ماژول های I²C Mini طوری طراحی شده اند که در 5VDC کار کنند.
در این آموزش ، ما قصد داریم کار مفصل HMC5883 با Raspberry pi و برنامه نویسی آن را با استفاده از زبان برنامه نویسی java توضیح دهیم.
مرحله 1: سخت افزار مورد نیاز:
سخت افزاری که برای انجام کار مورد نیاز است به شرح زیر است:
1. HMC5883
2. تمشک پای
3. کابل I2C
4. I2C Shield For Raspberry Pi
5. کابل اترنت
مرحله 2: اتصال سخت افزاری:
بخش اتصال سخت افزاری اساساً اتصالات سیم کشی مورد نیاز بین سنسور و تمشک pi را توضیح می دهد. اطمینان از اتصالات صحیح ضروری ترین ضرورت در هنگام کار بر روی هر سیستم برای خروجی مورد نظر است. بنابراین ، اتصالات مورد نیاز به شرح زیر است:
HMC5883 روی I2C کار خواهد کرد. در اینجا مثال نمودار سیم کشی است که نحوه اتصال هر رابط سنسور را نشان می دهد.
خارج از جعبه ، برد برای یک رابط I2C پیکربندی شده است ، بنابراین توصیه می کنیم در غیر این صورت آگنوستیک از این اتصال استفاده کنید. تنها چیزی که نیاز دارید چهار سیم است!
فقط چهار اتصال نیاز به پین های Vcc ، Gnd ، SCL و SDA دارد و این اتصالات با کمک کابل I2C متصل می شوند.
این اتصالات در تصاویر بالا نشان داده شده است.
مرحله 3: کد جاوا برای اندازه گیری شدت میدان مغناطیسی:
مزیت استفاده از تمشک pi این است که انعطاف پذیری زبان برنامه نویسی را که می خواهید در آن برنامه نویسی کنید تا سنسور با آن ارتباط برقرار کند فراهم می کند. با استفاده از این مزیت این برد ، ما در اینجا برنامه نویسی آن را در جاوا نشان می دهیم. کد جاوا برای HMC5883 را می توانید از انجمن github ما که فروشگاه Dcube است بارگیری کنید.
و همچنین برای سهولت کاربران ، ما در اینجا کد را نیز توضیح می دهیم:
به عنوان اولین مرحله کدگذاری ، باید کتابخانه pi4j را در صورت جاوا بارگیری کنید ، زیرا این کتابخانه از توابع مورد استفاده در کد پشتیبانی می کند. بنابراین ، برای بارگیری کتابخانه می توانید از لینک زیر دیدن کنید:
pi4j.com/install.html
همچنین می توانید کد جاوا کار کننده برای این سنسور را از اینجا کپی کنید:
واردات com.pi4j.io.i2c. I2CBus ؛
واردات com.pi4j.io.i2c. I2CDevice؛
mport com.pi4j.io.i2c. I2CFactory؛
واردات java.io. IOException ؛ کلاس عمومی HMC5883
{
public static void main (String args ) Exception را پرتاب می کند
{
// ایجاد گذرگاه I2C
گذرگاه I2CBus = I2CFactory.getInstance (I2CBus. BUS_1) ؛
// دریافت دستگاه I2C ، آدرس HMC5883 I2C 0x1E است (30)
دستگاه I2CDevice = Bus.getDevice (0x1E) ؛
// Configuration register A را انتخاب کنید
// پیکربندی اندازه گیری عادی ، نرخ داده o/p = 0.75 هرتز
device.write (0x00 ، (بایت) 0x60) ؛
// حالت ثبت نام را انتخاب کنید
// حالت اندازه گیری مداوم
device.write (0x02، (byte) 0x00)؛
موضوع. خواب (500) ؛
// خواندن 6 بایت داده از 0x03 (3)
// xMag msb، xMag lsb، zMag msb، zMag lsb، yMag msb، yMag lsb
بایت داده = بایت جدید [6]؛
device.read (0x03 ، داده ، 0 ، 6) ؛
// تبدیل داده ها
int xMag = ((داده [0] & 0xFF) * 256 + (داده [1] و 0xFF)]؛
if (xMag> 32767)
{
xMag -= 65536 ؛
}
int zMag = ((داده [2] & 0xFF) * 256 + (داده [3] و 0xFF)]؛
if (zMag> 32767)
{
zMag -= 65536 ؛
}
int yMag = ((داده [4] & 0xFF) * 256 + (داده [5] و 0xFF)]؛
if (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]؛
device.read (0x03 ، داده ، 0 ، 6) ؛
خروجی در تصویر بالا نشان داده شده است.
مرحله 4: برنامه های کاربردی:
HMC5883 یک ماژول چند سطحی برای نصب روی سطح است که برای سنجش مغناطیسی میدان کم با رابط دیجیتالی برای برنامه هایی مانند قطب نمای کم هزینه و مغناطیس سنجی طراحی شده است. دقت و دقت یک تا دو درجه ای آن ، برنامه های ناوبری عابر پیاده و برنامه های LBS را امکان پذیر می کند.
توصیه شده:
اندازه گیری زمان (ساعت اندازه گیری نوار): 5 مرحله (همراه با تصاویر)
Time Time (Tape Measure Clock): برای این پروژه ، ما (Alex Fiel & amp؛ Anna Lynton) یک ابزار اندازه گیری روزانه تهیه کردیم و آن را به ساعت تبدیل کردیم! طرح اولیه این بود که یک نوار اندازه گیری موجود را موتور کنید. در ساخت آن ، ما تصمیم گرفتیم که راحت تر بتوانیم پوسته خودمان را ایجاد کنیم
اندازه گیری میدان مغناطیسی با استفاده از HMC5883 و آردوینو نانو: 4 مرحله
اندازه گیری میدان مغناطیسی با استفاده از HMC5883 و آردوینو نانو: HMC5883 یک قطب نمای دیجیتالی است که برای سنجش مغناطیسی میدان کم طراحی شده است. این دستگاه دارای طیف وسیعی از میدان مغناطیسی +/- 8 Oe و نرخ خروجی 160 هرتز است. سنسور HMC5883 شامل درایورهای جداکننده اتوماتیک تسمه بند ، لغو افست و
اندازه گیری میدان مغناطیسی با استفاده از HMC5883 و ذره فوتون: 4 مرحله
اندازه گیری میدان مغناطیسی با استفاده از HMC5883 و ذره فوتون: HMC5883 یک قطب نمای دیجیتالی است که برای سنجش مغناطیسی میدان کم طراحی شده است. این دستگاه دارای طیف وسیعی از میدان مغناطیسی +/- 8 Oe و نرخ خروجی 160 هرتز است. سنسور HMC5883 شامل درایورهای جداکننده اتوماتیک تسمه بند ، لغو افست و
Arduino Milligaussmeter - اندازه گیری مغناطیسی: 4 مرحله
Arduino Milligaussmeter - اندازه گیری مغناطیسی: آیا می توان آهنرباهای قوی را در هواپیما حمل کرد؟ ما آهن ربا های زیادی ارسال می کنیم و مقررات خاصی برای حمل مواد مغناطیسی به ویژه در هواپیما وجود دارد. در این مقاله ، ما بررسی می کنیم که چگونه می توانید میلی متر برای حمل و نقل هوایی خود بسازید
فریت خود را برای بهبود میدان مغناطیسی بسازید: 9 مرحله
برای بهبود میدانهای مغناطیسی فریت خود را بسازید: به روز رسانی 05/09/2018: من دوباره آن را انجام دادم ، لذت ببرید! به روز رسانی 03/07/2015: من راه حل مناسب را پیدا کردم - آخرین مرحله را بررسی کنید! چگونه ممکن است همه چیز شروع شود ، ممکن است تعجب کنید ، بنابراین من به شما اطلاع می دهم ؛) شاید شما دستورالعمل من را برای بخاری القایی ساده و با