فهرست مطالب:

نحوه استفاده از ماژول GY511 با آردوینو [ساخت قطب نمای دیجیتال]: 11 مرحله
نحوه استفاده از ماژول GY511 با آردوینو [ساخت قطب نمای دیجیتال]: 11 مرحله

تصویری: نحوه استفاده از ماژول GY511 با آردوینو [ساخت قطب نمای دیجیتال]: 11 مرحله

تصویری: نحوه استفاده از ماژول GY511 با آردوینو [ساخت قطب نمای دیجیتال]: 11 مرحله
تصویری: آموزش شارژ اصولی باتری های لیتیومی 🔋 ماژول محافظ شارژ : بررسی و اموزش استفاده از ماژول محافظ شارژ 2024, نوامبر
Anonim
نحوه استفاده از ماژول GY511 با آردوینو [ساخت قطب نمای دیجیتال]
نحوه استفاده از ماژول GY511 با آردوینو [ساخت قطب نمای دیجیتال]

بررسی اجمالی

در برخی از پروژه های الکترونیکی ، ما باید موقعیت جغرافیایی را در هر لحظه بدانیم و بر این اساس عملیات خاصی را انجام دهیم. در این آموزش ، نحوه استفاده از ماژول قطب نما LSM303DLHC GY-511 با آردوینو را برای ساختن قطب نمای دیجیتال خواهید آموخت. ابتدا با این ماژول و نحوه عملکرد آن آشنا خواهید شد و سپس نحوه اتصال ماژول LSM303DLHC GY-511 با آردوینو را خواهید دید.

آنچه خواهید آموخت

  • ماژول قطب نما چیست؟
  • ماژول قطب نما و رابط آردوینو
  • با ماژول GY-511 و آردوینو یک قطب نمای دیجیتالی بسازید.

مرحله 1: اطلاعات کلی درباره ماژول قطب نما

اطلاعات کلی درباره ماژول قطب نما
اطلاعات کلی درباره ماژول قطب نما

ماژول GY-511 شامل شتاب سنج 3 محوره و مغناطیس سنج 3 محوری است. این سنسور می تواند شتاب خطی را در مقیاس های کامل ± 2 گرم / g 4 گرم / g 8 گرم / ± 16 گرم و میدان های مغناطیسی را در مقیاس کامل ± 1.3 / ± 1.9 / ± 2.5 / ± 4.0 / ± 4.7 / 6 5.6 / ± 8.1 گاوس.

وقتی این ماژول در یک میدان مغناطیسی قرار می گیرد ، طبق قانون لورنتز یک جریان تحریک در سیم پیچ میکروسکوپی آن ایجاد می کند. ماژول قطب نما این جریان را برای هر جهت مختصات به ولتاژ دیفرانسیل تبدیل می کند. با استفاده از این ولتاژها می توانید میدان مغناطیسی را در هر جهت محاسبه کرده و موقعیت جغرافیایی را بدست آورید.

نکته

QMC5883L یکی دیگر از ماژول های قطب نمای متداول است. این ماژول که ساختار و کاربرد مشابهی با ماژول LMS303 دارد ، در عملکرد کمی متفاوت است. بنابراین اگر پروژه ها را انجام می دهید ، مراقب نوع ماژول خود باشید. اگر ماژول شما QMC5882L است ، از کتابخانه و کدهای مناسب که در آموزش موجود است نیز استفاده کنید.

مرحله 2: اجزای مورد نیاز

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

اجزای سخت افزاری

آردوینو UNO R3 *1

GY-511 شتاب سنج 3 محور + مغناطیس سنج *1

TowerPro Servo Motor SG-90 *1

1602 LCD ماژول *1

پرش کننده *1

نرم افزارهای نرم افزاری

آردوینو IDE

مرحله 3: رابط ماژول قطب نما GY-511 با آردوینو

رابط ماژول قطب نما GY-511 با آردوینو
رابط ماژول قطب نما GY-511 با آردوینو
رابط ماژول قطب نما GY-511 با آردوینو
رابط ماژول قطب نما GY-511 با آردوینو

ماژول قطب نما GY-511 دارای 8 پین است ، اما برای ارتباط با آردوینو فقط به 4 عدد از آنها نیاز دارید. این ماژول با آردوینو با استفاده از پروتکل I2C ارتباط برقرار می کند ، بنابراین پین های SDA (خروجی I2C) و SCK (ورودی ساعت I2C) ماژول را به پین های I2C روی برد آردوینو وصل کنید.

همانطور که می بینید ، ما از ماژول GY-511 در این پروژه استفاده کرده ایم. اما می توانید از این دستورالعمل برای راه اندازی سایر ماژول های قطب نما LMS303 استفاده کنید.

مرحله 4: کالیبراسیون ماژول قطب نما GY-511

برای حرکت ، ابتدا باید ماژول را کالیبره کنید ، یعنی محدوده اندازه گیری را از 0 تا 360 درجه تنظیم کنید. برای انجام این کار ، ماژول را مطابق شکل زیر به Arduino وصل کنید و کد زیر را روی برد خود بارگذاری کنید. پس از اجرای کد ، می توانید حداقل و حداکثر مقادیر محدوده اندازه گیری محور X ، Y و Z را در پنجره سریال مانیتور مشاهده کنید. در قسمت بعدی به این اعداد نیاز دارید ، بنابراین آنها را بنویسید.

مرحله 5: مدار

جریان
جریان

مرحله 6: کد

در این کد ، به کتابخانه Wire.h برای ارتباط I2C و کتابخانه LMS303.h برای ماژول قطب نما نیاز دارید. می توانید این کتابخانه ها را از لینک های زیر بارگیری کنید.

کتابخانه LMS303.h

کتابخانه Wire.h

نکته اگر از QMC5883 استفاده می کنید ، به کتابخانه زیر نیاز دارید:

MechaQMC5883L.h

در اینجا ، ما کد LMS303 را توضیح می دهیم ، اما شما می توانید کدهای ماژول QMC را نیز بارگیری کنید.

بیایید برخی از توابع جدید را ببینیم:

compass.enableDefault ()؛

راه اندازی اولیه ماژول

compass.read ()؛

خواندن مقادیر خروجی ماژول قطب نما

running_min.z = min (running_min.z ، قطب نما.m.z) ؛ running_max.x = max (running_max.x ، قطب نما.m.x) ؛

تعیین حداقل و حداکثر مقادیر محدوده اندازه گیری با مقایسه مقادیر اندازه گیری شده.

مرحله 7: ساخت قطب نما دیجیتال

پس از کالیبراسیون ماژول ، ما قصد داریم با اتصال یک سروو موتور به ماژول یک قطب نما بسازیم. به طوری که نشانگر سروو ، جهت شمالی را همیشه به ما نشان می دهد ، مانند پیکان قرمز روی قطب نما. برای انجام این کار ، ابتدا ماژول قطب نما ابتدا جهت جغرافیایی را محاسبه می کند و آن را به آردوینو ارسال می کند و سپس با اعمال ضریب مناسب ، زاویه ای را که موتور سروو باید بچرخاند محاسبه می کنید تا نشانگر آن به سمت شمال مغناطیسی باشد. در نهایت ، آن زاویه را روی سروو موتور اعمال می کنیم.

مرحله 8: مدار

جریان
جریان

مرحله 9: کد

کد
کد

برای این قسمت شما همچنین نیاز به کتابخانه Servo.h دارید که به طور پیش فرض روی نرم افزار Arduino شما نصب شده است.

بیایید برخی از توابع جدید را مشاهده کنیم:

سرو سرو 1؛

راه اندازی اولیه ماژول

compass.read ()؛

معرفی شیء سروو موتور

Servo1.attach (servoPin) ؛ compass.init ()؛ compass.enableDefault ()؛

راه اندازی ماژول قطب نما و سروو موتور

آرگومان Servo1.attach () تعداد پین متصل به سروو موتور است.

قطب نما.m_min = (LSM303:: بردار) { -32767 ، -32767 ، -32767} ؛ compass.m_max = (LSM303:: بردار) { +32767 ، +32767 ، +32767} ؛

با استفاده از این خطوط حداقل و حداکثر مقادیر را برای اندازه گیری محدوده بدست آمده در قسمت قبل تعریف می کنید.

float heading = compass.heading ((LSM303:: بردار) {0 ، 0 ، 1}) ؛

تابع heading () زاویه بین محور مختصات و یک محور ثابت را برمی گرداند. می توانید محور ثابت را با بردار در آرگومان تابع تعریف کنید. به عنوان مثال ، در اینجا ، با تعریف (LSM303:: بردار) {0 ، 0 ، 1} ، محور Z به عنوان یک محور ثابت در نظر گرفته می شود.

Servo1.write (عنوان) ؛

تابع Servo1.write () مقدار خواندن توسط ماژول قطب نما را به سروو موتور اعمال می کند.

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

توصیه شده: