تشخیص حرکت و فاصله به کمک آردوینو و ماژول التراسونیک

مقدمه

در این آموزش با ماژول آلتراسونیک، کاربرد‌ها و نحوه عملکرد آن آشنا می‌شویم. نحوه راه اندازی و اتصال آن به برد آردوینو را خواهیم دید و از آن برای تشخیص حرکت و کنترل صفحه نمایشگر خود با حرکات دست استفاده میکنیم

آنچه در این آموزش یاد می گیرید

  • ماژول آلتراسونیک چیست و چگونه کار میکند
  • نحوه راه اندازی ماژول آلتراسونیک توسط آردوینو
  • کنترل صفحه نمایشگر با آردوینو و ماژول آلتراسونیک

آشنایی با ماژول فاصله سنج فرا‌‌صوت التراسونیک

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

اکثر ماژول هاي التراسونيک از دو قسمت فرستنده و گيرنده تشکيل شده‌اند. گيرنده و فرستنده ماژول‌هاي SRF04 و  SRF05 در کنار يکديگر  قرار دارند و مي توانند جسم هاي در فاصله 2 تا 300 سانتي متر را با دقت قابل قبولي تشخيص دهند. ماژول SRF05 نسخه تکامل يافته SRF04 مي باشد. اين نسخه دو مد کاري را پشتيباني مي کند و 5 پايه جهت کار با ماژول را در اختيار قرار مي دهد. اما ماژول SRF04 داراي 4 پايه مي باشد و تنها يک مد کاري را پشتيباني مي کند. هردوي اين ماژول ها داراي يک مد کاري مشترک هستند که اين مد کاري با نام مد 1 شناخته ميشود.

در مد 1 ابتدا باید یک پالس به طول حداقل ۱۰ میکرو ثانیه به پایه TRIG اعمال کنیم. ماژول به صورت اتوماتیک 8 عدد پالس با فرکانس ۴۰ کیلو هرتز ارسال میکند. وقتی که پالس ها ارسال شد پایه ECHO یک می‌شود و تا زمانی که پالس های برگشتی از جسم را دریافت نکند این پایه یک باقی می‌ماند. در این مد پایه Out SRF05 را بدون اتصال رها می‌کنیم. با اندازه گیری مدت زمانی که پایه Echo در سطح منطقی ۱ بوده است می‌توانم زمان رفت و برگشت صوت را بدست آوریم و فاصله را محاسبه کنیم.

در مد 2 که فقط در SRF05  فعال است، از یک پایه برای تریگر و اکو استفاده می شود. برای استفاده از این مد پایه‌ی OUT را  به زمین وصل می‌کنیم و از پایه‌ی Echo  برای ارسال و دریافت پالس اکو استفاده می‌کنیم. مانند حالت قبل فاصله از اولین جسم را، با محاسبه‌ی زمان رفت و برگشت صوت خواهیم داشت.

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

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

آردوینو لئوناردو × 1
ماژول فاصله سنج التراسونیک SRF05 × 2
سیم جامپر × 1

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

Arduino IDE

ارتباط ماژول التراسونیک و آردوینو

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

نکته

اتصال تغذیه و زمین ماژول را هم فراموش نکنید.

سیم بندی

کد


بیایید نگاه دقیق تری به کد بیاندازیم:


ارسال پالس 10 میکرو‌ ثانیه‌ای روی پین Trigger.


تابع pulsln() مدت زمانی که پایه Echo در سطح منطقی 1 می‌ماند را اندازه می‌گیرد. که در واقع برابر با مدت زمان رفت و برگشت صوت از ماژول به مانع روبرو میباشد.


با ضرب مدت زمان رفت و برگشت صوت در سرعت صوت در محیط، فاصله‌ای که صوت طی کرده است را محاسبه می‌کنیم.

کنترل صفحه نمایشگر کامپیوتر به کمک آردوینو و ماژول آلتروسونیک

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

برای اینکار کافیست دو ماژول SRF04 یا SRF05 را به یک برد آردوینو لئوناردو متصل کرده و در سمت چپ و راست بالای مانیتور خود قرار دهید.

کد زیر را روی برد خود آپلود کنید. حالا شما میتوانید با گرفتن هر دو دست خود در فاصله 20 تا 30 سانتی متری مقابل ماژول‌های چپ و راست، ویدیو را پخش یا متوقف کنید!

اگر دست راست خود را در فاصله 9 تا 15 سانتی متری مقابل ماژول سمت راست بگیرید و کمی از آن دور کنید، ویدیو 5ثانیه به عقب برمیگردد و اگر دست خود را کمی به ماژول نزدیک کنید، ویدیو 5ثانیه به جلو میرود.

نگران صدا هم نباشید! با قرار دادن دست چپ خود در فاصله 9 تا 15 سانتی متری ماژول و نزدیک کردن به آن صدای ویدیو افزایش و با دور کردن آن از ماژول صدا کاهش میابد.

سیم بندی

کد

در این قسمت شما نیاز به کتابخانه Keyboard.h آردوینو دارید. می‌توانید این کتابخانه را از لینک زیر دریافت کنید:

https://www.arduinolibraries.info/libraries/keyboard

یک گام جلوتر

  • با اضافه کردن یک سروو موتور به ماژول سعی کنید فاصله از همه اجسام اطراف ماژول التراسونیک را محاسبه کنید.
  • سعی کنید موارد دیگری مثل زیاد و کم کردن سرعت پخش ویدئو به پروژه بالا اضافه کنید.

Share this post

Comments (2)

  • aradbayat81 Reply

    با سلام خسته نباشید . ببخشید کدوم کتابخانرو بگیرم چون ورژن های مختلفه وبعد باید با برنامه بالا یکی بکنمش؟

    اکتبر 11, 2019 at 1:15 ب.ظ
    • سعید حسینی Reply

      با سلام.
      زیاد تفاوتی نمی کنه درکل

      اکتبر 12, 2019 at 10:28 ق.ظ

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *