آردوینو آموزش آردوینو درایور موتور پروژه های آردوینو

هوشمند سازی ربات با مدار تشخیص مانع آلتراسونیک SRF و درایور موتور L293D

Obstacle-protect-with-arduino-l293d-and-srf-module-digispark
نوشته شده توسط پریسا پوربلورچیان

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

 


درایور موتور L293D


درایور موتور L293 همانطور که از نامش مشخص است، جهت کنترل موتور DC به کار برده می‌شود. تراشه به کار رفته در این شیلد از نوع L293D می‌باشد. این تراشه توانایی درایو موتور تا ۳۶ ولت را خواهد داشت. درایور موتور L293D دارای ۴ رابط کانکتور برای اتصال استپر موتور Stepper Motor و موتور ( ۲ استپر موتور + ۲ موتور DC) است. شیلد درایور موتور L293 دارای ۶ پین برای اتصال دو سرو موتور Servo Motor است که با نام‌های SER1 و SERVO_۲ بر روی شیلد مشخص شده است. جهت مطالعه اطلاعات کامل تر به لینک های زیر مراجعه کرده و بررسی کنید.

 

آموزش شیلد درایور موتور L293D با برد آردوینو بخش اول سرو Servo motor

آموزش شیلد درایور موتور L293D با برد آردوینو بخش دوم کنترل جهت موتور DC

 


ماژول تشخیص مانع آلتراسونیک SRF


ماژول فاصله سنج SRF، اجسام قرار گرفته شده در مسیر سنسور را تشخیص داده و سپس فاصله شی تا سنسور را اندازه گیری می‌کند. ولتاژ کاری ماژول فاصله سنج SRF بین ۴٫۵ تا ۵٫۵ ولت DC است. فرکانس کاری ماژول SRF در حدود ۴۰ کیلوهرتز است. این ماژول از ۵ پایه Trigger, Echo, Out, Vcc, Gnd تشکیل شده است. جهت محاسبه فاصله اندازه گیری شده از شی تا سنسور از فرمول زیر استفاده می‌شود. در آموزش‌های قبل کامل به توضیح آن پرداخته شده است. جهت مطالعه اطلاعات بیشتر به لینک زیر مراجعه کرده و بررسی نمایید.

Distance (in cm) = (elapsed time * sound velocity (340 m/s)) / 100 / 2

آموزش شیلد مولتی فانکشن آردوینو ساخت فاصله سنج فراصوت با SRF05

هوشمند سازی ربات با مدار تشخیص مانع آلتراسونیک SRF و درایور موتور L293D - دیجی اسپارک

 


اجرای پروژه درایور موتور


در بخش سوم آموزش درایور موتور L293D، میخواهیم کنترل موتور DC و جهت حرکت آن را با ماژول تشخیص مانع آلتراسونیک SRF اجرا کنیم. به این ترتیب که پس از تشخیص مانع توسط ماژول آلتراسونیک SRF، هر دو موتور گیربکس دار DC به سمت عقب حرکت خواهد کرد. این اصول در ربات جهت حفاظت از برخورد با مانع پیاده سازی می‌شود. در پهپاد فانتوم Phantom DJI از تکنولوژی آلتراسونیک به همراه IR جهت تشخیص مانع و جلوگیری از برخورد پهپاد با مانع استفاده شده است. در ادامه به بررسی کد آردوینو Arduino و اتصالات آن خواهیم پرداخت.

 

 


اتصالات درایور موتور آردوینو


اتصال ماژول آلتراسونیک SRF

  • پایه تریگر Trigger ماژول آلتراسونیک SRF را به پایه ۲۱ دیجیتال آردوینو Arduino Mega2560 اتصال دهید.
  • پایه اکو Echo ماژول آلتراسونیک SRF را به پایه ۲۰ دیجیتال آردوینو Arduino Mega2560 اتصال دهید.

 

اتصال موتور گیربکس دار DC

  • موتور اول را به ترمینال M1 از شیلد درایور موتور L293 اتصال دهید.
  • موتور دوم را به ترمینال M21 از شیلد درایور موتور L293 اتصال دهید.

 


فراخوانی کتابخانه آردوینو


جهت راه اندازی موتور DC و ماژول آلتراسونیک نیاز به فراخوانی کتابخانه های آن ها داریم.

  • کتابخانه AFMotor

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

  • کتابخانه Ultrasonic

کتابخانه Ultrasonic جهت فراخوانی توابع ماژول آلتراسونیک SRF به کار برده می‌شود.  لینک دانلود کتابخانه در صفحه محصول زیر در سایت دانشجوکیت قرار گرفته شده است. آن را دانلود و سپس ضمیمه کنید. ماژول آلتراسونیک تشخیص فاصله SRF05 Ultrasonic

تشخیص مانع با آردوینو Arduino درایور موتورL293 و ماژول آلتراسونیک SRF - دیجی اسپارک

 


کد آردوینو Arduino


جهت اجرای پروژه کدهای زیر را در کامپایلر آردوینو Arduino IDE وارد کنید.

 

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

 

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

 


عملکرد پروژه


پس از کامپایل کد، با قرار گرفتن مانع در فاصله بین ۰ تا ۱۰ سانتی متر، سنسورها عمل کرده و هر دو موتور DC ب سمت عقب حرکت خواهد کرد. برای بررسی دقیق تر عملکرد پروژه سریال مانیتور را باز کرده و روی باد ریت ۹۶۰۰ تنظیم کنید. سپس یک مانع در رو به روی ماژول آلتراسونیک SRF قرار دهید. چنانچه فاصله مانع با سنسور در محدوده ۰ تا ۱۰ سانتی متر باشد، هر دو موتور به حرکت در خواهد آمد. همچنین با دور کردن مانع و فاصله بیش از ۱۰ سانتی متر هر دو موتور متوقف خواهد شد.

 

پروژه تشخیص مانع با ماژول SRF برد آردوینو و درایور موتور L293D - دیجی اسپارک


وسایل مورد نیاز


برد آردوینو Arduino Mega2560

شیلد درایور موتور L293

ماژول آلتراسونیک SRF

موتور DC گیربکس دار

برد برد کوچک مخصوص آردوینو Arduino

کابل جامپر مخصوص برد برد Breadboard

 

 

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

 


پروژه و دریافت بن ارسال رایگان


طی چند قسمت قبلی که طرح پروژه را پیاده سازی کردیم، با استقبال شما کاربران مواجه شدیم. در این سری برای اینکه گستره بیشتری از افراد بتوانند فرصت استفاده از بن خرید را داشته باشند؛ روال دیگری را در پیش گرفتیم. در این روش تصمیم گرفته‌ایم به ۱۰ نفر از کاربران بن خرید ارایه شود. برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و بسته به خلاقیت، مدار جدیدی ایجاد کنید. سپس از اجرای کار فیلم گرفته و در شبکه‌های اجتماعی از جمله آپارات و اینستگرام، با هشتگ «#دیجی_اسپارک» و «#دانشجوکیت» و «#digispark» و «#daneshjookit» منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۰۳۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید.

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

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

پریسا پوربلورچیان

تولید کننده محتوا / کارشناس IOT

زندگی یعنی پژوهش و فهمیدن چیزی جدید

تلاشم بر این است تجربیاتم در زمینه IOT‌ را به بهترین شکل با شما در میان بگذارم.

تبادل نظر و رفع عیب با ثبت دیدگاه

۲۴ دیدگاه

  • سلام و خسته نباشید
    از اینکه به نظرات اهمیت میدید بسیار ممنونم
    چند وقت پیش درخواست این پروژه را داشتم و الان با یک آموزش جامع و خوب رو به رو شدم
    باز هم ممنون

    • سلام
      خواهش میکنم.
      از این که به قوانین احترام می‌گذارید، صمیمانه سپاسگزارم.

  • چرا متن برنامه برام نمایش داده نمیشه
    ثبت نام کردم ایمیل هم اومده
    من چکار کنم لطفاً راه نمایی کنید

    • باسلام
      کاربر گرامی شما هیچ اشتراکی تهیه نکرده‌اید. برای دسترسی به کدهای این آموزش بایستی اسپارکر شوید. همچنین برخی از آموزش‌های حرفه ای نیاز به اشتراک اسپارکر پلاس می‌باشد.
      جهت خرید اشتراک به لینک حساب کاربری مراجعه کنید.

    • سلام
      خیر هیچ تفاوتی در کدها و اتصالات نیست. پروژه را اجرا و در شبکه های اجتماعی به اشتراک بگذارید.

  • سلام و خسته نباشید
    خانم بلورچیان من فقط آردوینو uno دارم ولی شما از مگا استفاده کردین
    تفاوتی نداره؟

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

  • با اردیونو uno R3 نمیشه ساختش؟؟
    اگر بخوام در زمان رسیدن به مانع مثل میکرو سوییچ ربات های حل ماز اقدام به چرخش کنه باید چه تغیری بدم به کد ها؟؟

    • با سلام
      بله امکان پذیر است.
      در خصوص سوال دوم دقیق تر توضیح دهید تا راهنمایی گردد.

  • سلام ممنونم از مطلب بالا من میخوام سنسور تشخیص مانع رو روی هگزا روتور بگزارم می خوام وختی به مانعی رسید همون جا توقف کنه چکار باید بکنم

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

  • سلام
    من الان اینو ساختم ولی توی چرخش وقتی به چپ یا راست میره ۹۰ درجه نمی چرخه
    چطوری چرخشش رو به ۹۰ در جه تبدیل کنم

  • سلام ،ممنون بابت اموزش تون
    می خاستم ببینم اگه از uno استفاده کنیم ،باید روی درایور مون در واقع لحیم بزنیم تا بتونیم از پایه های دیجیتال اردینو uno استفاده کنیم ؟

    • با سلام
      تفاوتی بین آردوینو ها وجود ندارد و همین پروژه را با آردوینو uno میتوانید پیاده سازی کنید.

  • سلام شب شما بخیر
    ببخشید سوال داشتم آیا این پروژه با برد uno هم میشه انجام داد ؟؟؟؟
    با همین کد یا تغییر باید بکنه ؟؟؟؟