آموزش راه اندازی قطب نما 3محوره GY-271 (QMC5883L) با آردوینو

فهرست مطالب

ویژگی های ماژول قطب نمای GY-271

جریان و میدان مغناطیسی ارتباط مستقیمی با یکدیگر دارند. زمانی که جریان در یک سیم جاری می شود (الکترون ها در یک جهت شروع به حرکت می کنند)، میدان مغناطیسی ایجاد می شود. ایده ی اصلی سنسور های قطب نما هم بر اساس همین رابطه است. جهت میدان مغناطیسی زمین روی جریان حرکت الکترون ها در سنسور تاثیر می گذارد. با اندازه گیری این تغییرات در جریان، سنسور قادر خواهد بود  تا جهت ها را تشخیص دهد.

ماژول GY-271 از تراشه ی QMC5883L برای تشخیص میدان مهای مغناطیسی و جهت آن ها استفاده می کند. پروتکل ارتباطی این ماژول I2C است و می توانید با استفاده از 2 پایه SCL و SDA آن را به پردازنده های مختلف از جمله بردهای آردینو متصل کنید.

دیتاشیت تراشه ی QMC5883L را می توانید از اینجا دانلود کنید.

معرفی پایه ها (Pinout) ماژول قطب نمای GY-271

ماژول GY-271 دارای 5 پایه است. کاربرد این پایه ها به شرح زیر است:

  • VCC: تغذیه ماژول – بین 3 تا 5 ولت
  • GND: زمین
  • SCL: پایه کلاک ارتباط I2C
  • SDA: پایه دیتا ارتباط I2C
  • DRDY یا DataReady: زمانی که مقدار خروجی سنسور آماده باشد، در این پایه یک وقفه (Interrupt) رخ می دهد. این پایه به صورت پیش فرض در داخل ماژول Pull up شده است. زمانی که مقدار خروجی ماژول آماده باشد، این پایه به مدت 250 میکرو ثانیه “0” می شود.

پین اوت (Pinout) این ماژول را می توانید در تصویر زیر مشاهده کنید.

لوازمی که به آن احتیاج دارید

قطعات مورد نیاز

برد آردوینو Uno × 1
قطب نمای الکترونیکی سه محوره GY-271 QMC5883L × 1
سیم جامپر × 1

نرم‌افزارهای مورد نیاز

Arduino IDE

راه اندازی ماژول قطب نمای GY-271 با آردوینو

گام اول: سیم بندی

مطابق مدار زیر، ماژول را به آردوینو وصل کنید.

گام دوم: نصب کتابخانه

کتابخانه ی ماژول را از این لینک دانلود کرده و آن را نصب کنید.

توجه

اگر برای نصب کتابخانه نیاز به راهنمایی بیشتر دارید، به اینجا مراجعه کنید.

این کتابخانه، مثال های متنوعی برای راه اندازی ماژول قطب نما دارد. در صورت نیاز می توانید از این مثال ها نیز استفاده کنید.

نکته

اگر تراشه ی شما از نوع HMC5883L است، باید از این کتابخانه برای راه اندازی قطب نمای خود استفاده کنید.

گام سوم: کد

پس از نصب کتابخانه، کد زیر را روی برد آردوینو خود آپلود کنید. سپس پنجره ی سریال را باز کنید تا خروجی قطب نما به شما نمایش داده شود.

/*
  GY-271 Compass
  modified on 02 Sep 2020
  by Mohammad Reza Akbari @ Electropeak
  
Home
*/ // I2C Library #include <Wire.h> // QMC5883L Compass Library #include <QMC5883LCompass.h> QMC5883LCompass compass; void setup() { // Initialize the serial port. Serial.begin(9600); // Initialize I2C. Wire.begin(); // Initialize the Compass. compass.init(); } void loop() { int x, y, z; // Read compass values compass.read(); x = compass.getX(); y = compass.getY(); z = compass.getZ(); Serial.print("X: "); Serial.print(x); Serial.print(" Y: "); Serial.print(y); Serial.print(" Z: "); Serial.println(z); delay(300); }

آموزش های مشابه

Comments (6)

  • محمد Reply

    سلام و خسته نباشید . ممنون از آموزش خوبتون .
    یه سوال داشتم و این که مقدار x , y , z بر حسب چی هستند ؟ اگر توضیحی بفرمایید ممنون میشم .

    آوریل 11, 2021 at 5:56 ب.ظ
    • مهران ملکی Reply

      سلام. خیلی ممنون از لطفتون… واحد این مقادیر mGs (میلی گاوس) هست.

      آوریل 12, 2021 at 2:22 ب.ظ
  • kamal Reply

    با عرض سلام
    سه تا سنسور خریدم (gy-271 qmc5883l) ولی هر سه تاش تو مانیتور آردینیو x,y,z رو صفر نشون میده هر چی کتاب خونه هم بود دانلود کردم
    ممنون میشم راهنمایی کنید

    ژانویه 8, 2023 at 1:09 ق.ظ
    • علی عبدالملکی Reply

      سلام
      شما لطفا ابتدا از لایبراری i2c scanner استفاده کنید جهت بررسی اینکه id سنسور رو دریافت کنید
      که مطمئن بشید مشکل از سنسور یا سیم بندی نیست

      فوریه 28, 2023 at 3:03 ب.ظ
  • Kamal Reply

    با عرض سلام
    سه تا ماژول خریدم ولی هر سه تاش در مانیتور اردینیو x,y,z رو فقط صفر نشون میده همه کتاب خانه هارو هم برای مدل q و هم h دانلود کردم ولی نشد
    ماژول ها خراب است یا کتابخانه مخصوصی میخواهد ممنون میشم راهنمایی کنید

    ژانویه 8, 2023 at 2:16 ق.ظ
    • علی عبدالملکی Reply

      سلام وقت بخیر
      لطفا از کتابخونه i2c scanner استفاده کنید ابتدا ببینید اصلا id سنسور رو میتونه بخونه

      فوریه 28, 2023 at 11:36 ق.ظ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.