بیایید اتصال ماژول GY-273 را با قطب نما سه محوره Honeywell HMC5883L در نظر بگیریم. در صورت عدم نیاز به دقت اندازه گیری بالا (با خطای 1 … 2 درجه و احتمال کالیبراسیون) از این میکرو مدار می توان برای اندازه گیری مغناطیس سنجی ، در ناوبری استفاده کرد. دستگاه از طریق رابط I2C متصل می شود.
ضروری است
- - قطب نما دیجیتال HMC5883؛
- - آردوینو ؛
- - صفحه اولیه و سیمهای اتصال
- - کامپیوتر.
دستورالعمل ها
مرحله 1
این ویژگی های اصلی قطب نمای مغناطیسی است:
- حسگر مغناطیسی 3 محوره ؛
- ADC 12 بیتی با وضوح 2 میلی گرم (میلی گرم).
- ساخته شده در خودآزمایی
- ولتاژ کار کم و مصرف کم ؛
- رابط دیجیتال I2C ؛
- میزان بالای نظرسنجی - تا 160 بار در ثانیه (زمان یک اندازه گیری حدود 6 میلی ثانیه است) ؛
- دقت تعیین جهت 1 درجه 2 درجه است ؛
- می تواند در میدان های مغناطیسی قوی (حداکثر 8 ± گاوس) استفاده شود.
نمودار اتصال سنسور مغناطیسی HMC5883L به Arduino در شکل نشان داده شده است. بسیار جمع و جور و ساده است ، زیرا رابط دو سیم I2C عالی است زیرا به اتصالات کمی نیاز دارد. می توانید از تخته نان استفاده کنید.
گام 2
باید چیزی شبیه به عکس باشد. من همچنین یک تجزیه و تحلیل منطق را به اتوبوس های SCL و SDA متصل می کنم تا تبادل اطلاعات بین ماژول Arduino و HMC5883 را کنترل کند. اجباری نیست
مرحله 3
به عنوان اولین آشنایی ، بیایید سعی کنیم رجیسترهای شناسایی 10 (0xA) ، 11 (0xB) و 12 (0xC) قطب نمای دیجیتال HMC5883 را بخوانیم و طرحی مانند شکل را بنویسیم. با توضیحات مفصل ارائه می شود.
مرحله 4
سیگنال به دست آمده با تجزیه و تحلیل منطق همانطور که در تصویر نشان داده شده است خواهد بود.
چه مفهومی داره؟ اولین بایت آدرس I2C است که ما (دستگاه اصلی ، Arduino) با آن ارتباط برقرار می کنیم (7 بیت بالا 0x1E) و حالت نوشتن (کم بیت - 0x0). تعداد 0x3C است. بایت دوم عدد 0xA است که برای آدرس دهی 0x1E و بیت تأیید از سنسور HMC5883L که همان برده است نوشتیم. این شماره ثبتی است که از آن شروع به خواندن اطلاعات می کنیم. این اولین معامله را به پایان می رساند. بعدی شروع می شود. بایت سوم درخواست خواندن از بنده است (شاخص ترین 7 بیت آدرس 0x1E است ، بیت 8 عملیات خواندن 0x1 است ؛ عدد حاصل شده 0x3D است). 3 سه بایت آخر به ترتیب پاسخ برده HMC5883L از ثبات های 0xA ، 0xB و 0xC است.
قطب نمای دیجیتال HMC5883L در طی خواندن مداوم به طور مستقل از طریق رجیسترها حرکت می کند. آنهایی که لازم نیست هر بار پرونده را مشخص کنید (اما منع نمی شود). به عنوان مثال ، اگر به جای 0xA 0x3 بنویسیم و 10 بار بخوانیم ، از 3 تا 12 به 10 ثبات مقدار می رسیم.
و این سه عدد چیست - 0x48 ، 0x34 ، 0x33؟ با استفاده مجدد از برگه داده برای قطب نمای دیجیتال HMC5883L ، خواهیم دید که این مقادیر به طور پیش فرض برای سه رجیستر شناسایی است.
مرحله 5
برای بدست آوردن داده های قطب نمای دیجیتال روی میدان مغناطیسی ، باید رجیسترهای 3 تا 8 را بخوانید ، دقیقاً مانند رجیسترهای شناسایی. تنها تفاوت این است که داده های هر سه محور X ، Y و Z به صورت اعداد دو بایت ارائه می شوند. با تبدیل آنها به اعداد اعشاری ، در امتداد هر سه محور جهت می گیریم.