آردوینو و آلتراسونیک-بخش دوم{راه اندازی ماژول و تست آن}
مقدمه
با سلام خدمت همه شما دوستان. در این جلسه قصد داریم نحوه راه اندازی ماژول srf05 رو با آردوینو رو یاد بگیریم. ما قبلا یک جلسه در مورد این که اصلا آلتراسونیک چیست و چه کاربردی دارد، صحبت کرده بودیم. پیشنهاد میکنم برای فهم بهتر اون جلسه رو از لینک زیر بخونید:
بخش سخت افزار:
الف:اتصال ماژول به برد آردوینو:
در تصویر زیر میتونید نحوه اتصال این ماژول رو به صورت خیلی واضح ببینید:
همانطور که مشاهده میکنید برای اتصال تنها کافی است که پایه های مربوط به تغذیه ماژول رو به پایه های VCC و GND برد وصل کنیم و همچنین دو تا پایه echo و trigger رو هم به دو تا پایه دیجیتال متصل کنیم. هیچ نکته خاص دیگه ای وجود نداره.
بخش نرم افزار
کتابخانه newping
مثل سایر ماژول هایی که به آردوینو وصل میشن برای آلتراسونیک هم یه کتابخونه خیلی خوب وجود داره که میتونیم بدون هیچ دردسری با استفاده از اون ماژول رو راه اندازی کنیم و کلی هم دستورات مختلف رو روش اجرا کنیم.کتابخونه مورد نظر ما Newping.h نام داره.
این کتابخونه برای ماژول های مختلف آلتراسونیک مثل SR04, SRF05, SRF06, DYP-ME007 کاربرد داره و دارای دستورات خیلی زیاد و انعطاف پذیری هست. اولین کاری هم که باید انجام بدیم این هست که این کتابخانه رو به نرم افزار arduino اضافه کنیم. از این لینک میتونید این کتابخانه رو دانلود کنید. ما قبلا در یک جلسه به صورت کامل در مورد این که یک کتابخانه رو چگونه میشه به نرم افزار آردوینو اضافه کرد ، صحبت کردیم. اگه در مورد نحوه اضافه کردن کتابخانه مشکلی دارید پیشنهاد میکنم این جلسه رو حتما بخونید:
کدنویسی:
حالا دیگه رسیدیم به اصل مطلب که کدنویسیش هست. ابتدا یک نگاه به کد کلی بیندازید تا در ادامه این کد رو خط به خط توضیح بدیم:
#include <NewPing.h> #define TRIGGER_PIN 12 #define ECHO_PIN 11 #define MAX_DISTANCE 200 NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); void setup() { Serial.begin(115200); } void loop() { delay(50); int uS = sonar.ping(); Serial.print("Ping: "); Serial.print(uS / US_ROUNDTRIP_CM); Serial.println("cm"); }
توضیح خط به خط کد:
#include <NewPing.h>
این خط مربوط به به اضافه کردن هدر کتابخانه newping.h به برنامه هست.
#define TRIGGER_PIN 12 #define ECHO_PIN 11 #define MAX_DISTANCE 200
خط اول شماره پایه ای که باید Trigger به اون وصل بشه نشون داده میشه.که پایه شماره 12 هست.خط دوم مربوط به اتصال پایه Echo هست و با اون میگیم که پایه Echo باید به پایه 11 دیحیتال از برد آردوینو وصل بشه و در نهایت در خط سوم میگیم که ماکزیمم فاصله ای که آلتراسونیک اندازه گیری کنه چقدر باشه که این مقدار برابر 200 سانتی متر قرار داده شده.
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
دستور اصلی تنظیمات هست تنظیمات اصلی رو انجام میده و میگه که trigger و Echo به چه پایه هایی وصل هستن و همچنین ماکزیمم فاصله ها چقدره.شماره پایه ها هم که در خطوط قبل مشخص شده بودند.
void setup() { Serial.begin(115200); }
خیلی واضح هست که این دستور مربوط به راه اندازی پورت سریال با بادریت 115200 هست.
void loop() { delay(50); int uS = sonar.ping(); Serial.print("Ping: "); Serial.print(uS / US_ROUNDTRIP_CM); Serial.println("cm"); }
توی تابع loop که دستوراتش همیشه اجرا میشن ابتدا با هر بار خواندن 50 میلی ثانیه صبر میکنه برنامه تا عملیات با دقت انجام بشه.
خط بعد ابتدا یه پالس رو میفرسته و سپس مدت زمانی که طول میکشه تا اون پالس برگرده رو توی متغیر uS قرار میده.
خط چهارم عبارت Ping رو روی پنجره پورت سریال نمایش میده.
خط پنجم مقدار فاصله رو بر حسب ساانتی متر حساب میکنه و روی پنجره سریال نمایش میده.
خط ششم هم عبارت cm رو روی پنجره سریال نمایش میده.
دوستان عزیز بیشتر دوره های مربوط به این وب سایت رایگان می باشد. در صورت تمایل می توانید به اندازه وسع مالی خود(هر چند ناچیز) جهت پرداخت هزینه های نگهداری وب سایت از ما حمایت کنید:
این جلسه نیز به پایان رسید. مثل همیشه برای دریافت آخرین مطالب سایت و همچنین مطالب منحصر به فرد دیگر که در سایت منتشر نمی شوند میتوانید در کانال تلگرام ما عضو شوید و یا در اینستاگرام ما را فالوو کنید:
دیدگاهتان را بنویسید