این ماژول ارزان قیمت به یک سنسور مغناطیس مجهز می باشد و می توانید با کمک آن جهت حرکت رباط خود را تعیین کنید.
از مزایای این ماژول قابلیت اتصال با رابط I2C می باشد که به شما امکان می دهد که در مصرف پینهای میکرو کنترولر خود صرفه جویی کنید.
ولتاژ کاری آن نیز بین 3 تا 5 ولت است که تقریبا با هر میکرو کنترولری سازگار می باشد.
از تراشه این ماژول در موبایلها و فلایت کنترولرها و بسیاری از ابزارهای جهت یابی استفاده شده است.
این سنسور حساس به میدان مغناطیسی می باشد و از سه محور اصلی پشتیبانی می کند.
داخل سنسور برای هر محور یک پل مقاومتی وجود دارد که به تغییرات میدان مغناطیسی در جهت همان محور حساس می باشد.
سنسور این تغییرات را در هر جهت اندازه گیری کرده و اطلاعات آنها را به شکل دیجیتال در اختیار شما قرار می دهد.
برای ساختن یک قطب نما به یک میکرو کنترولر مانند آردوینو اونو و یک ماژول 5883 نیاز داریم.
مانند شکل زیر اتصالات مربوط به ماژول را به آردوینو انجام دهید و برنامه نمونه را بارگزاری نمایید.
با توجه به شکل زیر پین DRDY ماژول را متصل نمیکنیم. برای آنکه عملکرد ماژول متوقف شود و در مصف انرژی صرفه جویی شود آن را به زمین متصل کنید و برای ادامه کار آن را مثبت کنید.
به سادگی می توانید روی پنجره سریال نتیجه را مشاهده کنید.
در این مثال از یک کتابخانه به نام QMC5883LCompass که برای این ماژول نوشته شده است استفاده کرده ایم که آن را باید نصب کنید.
برای نصب این کتابخانه به منوی tools رفته و گزینه Manage libraries را باز کنید. سپس در بخش جستجو شماره 5883 را نوشته و از میان نتایج کتابخانه QMC5883LCompass را که مخصوص این ماژول می باشد نصب کنید.
استفاده از این کتابخانه کار برنامه نویسی را آسان کرده و انجام محاسبات پیچیده را خودش انجام می دهد.
#include
QMC5883LCompass compass;
void setup() {
Serial.begin(9600);
compass.init();
}
void loop() {
compass.read();
byte a = compass.getAzimuth();
char myArray[3];
compass.getDirection(myArray, a);
Serial.print(myArray[0]);
Serial.print(myArray[1]);
Serial.print(myArray[2]);
Serial.println();
delay(250);
}