پروژه PICپروژه الکترونیکپروژه های ربات

آموزش ساخت ربات مسیریاب با میکروکنترلر PIC

سلام. آموزش کامل ساخت ماشین دنبال کننده خط ( پروژه ربات مسیریاب PIC ) را آماده کردیم. فیلم عملکرد مدار را ببینید !

پروژه ربات مسیریاب PIC

پروژه ربات مسیریاب PIC

ماشین دنبال کننده خط یک ربات ساده و در عین حال جذاب برای اکثر دانشجویان است. در این آموزش خواهیم آموخت که یک ربات مسیریاب چگونه کار می کند و چگونه می توانیم با استفاده از میکروکنترلر PIC16F877A آن را بسازیم. PIC16F877A یک میکروکنترلر چند منظوره است که دارای 40 پین است. اگر به رباتیک علاقه دارید پس باید با نام “ربات مسیریاب” آشنا باشید. این ربات با استفاده از یک جفت سنسور مادون قرمز و موتور قادر به دنبال کردن یک خط است.

نحوه کار ماشین دنبال کننده خط

ما این پروژه را با برد آردوینو ساختیم و کمی از توضیحات آن پروژه استفاده کردیم. میتوانید ببینید : پروژه ربات مسیریاب با آردوینو

بخش سنسور مادون قرمز

سنسور مادون قرمز IR
سنسور مادون قرمز IR

ربات مسیریاب قادر است با کمک سنسور IR خط را ردیابی کند. این سنسور دارای فرستنده IR و گیرنده IR است. فرستنده مادون قرمز نور را منتقل می کند و گیرنده (Photodiode) منتظر است تا نور منتقل شده بازتاب شود و برگردد. تمام سطوح نور IR را منعکس نمی کنند ، فقط سطح رنگ سفید می تواند آنها را کاملاً منعکس کند و سطح رنگ سیاه همانطور که در شکل زیر نشان داده شده است ، آنها را کاملاً جذب خواهد کرد.

ربات مسیریاب
ربات دنبال کننده خط

در این پروژه PIC از دو سنسور IR برای بررسی اینکه آیا ربات روی خط حرکت میکند یا خیر استفاده میکنیم. این موتورها به جریان بالایی احتیاج دارند. از این رو از یک ماژول درایور موتور مانند L293D استفاده می کنیم. ما همچنین به یک میکروکنترلر مانند PIC نیاز خواهیم داشت تا موتورها را بر اساس اطلاعات سنسور IR حرکت دهند.

هر سنسور مادون قرمز در یک طرف خط قرار می گیرد. اگر هیچ یک از سنسورها خط مشکی را تشخیص ندهند ، میکروکنترلر PIC دستور می دهد که هر دو موتور حرکت کنند.

آموزش نحوه کار ربات مسیریاب PIC

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

آموزش نحوه کار ربات مسیریاب PIC

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

اگر میخواهید آردوینو را به صورت اصولی و پروژه محور (برنامه نویسی حرفه ای، ارتباط آردوینو با اندروید، ساخت ربات با آردوینو) یاد بگیرید، روی دوره آموزش آردوینو کلیک کنید.
مسیریاب - پروژه آردوینو

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

نحوه توقف ربات دنبال کننده خط

مدار پروژه مسیریاب با میکروکنترلر PIC

مدار پروژه مسیریاب با میکروکنترلر PIC

مدار از دو سنسور IR و یک جفت Gear موتور DC به همراه یک ماژول درایور موتورتشکیل شده است. ماژول درایور موتور مورد استفاده در این پروژه L293D است. ما به درایور موتور احتیاج خواهیم داشت زیرا پین خروجی میکروکنترلر PIC نمی تواند منبع کافی را برای حرکت موتور ایجاد کند. همانطور که در شماتیک میبینید ، این ماژول مستقیماً از منبع تغذیه (5 ولت) تغذیه می شود. این ماژول دارای چهار پین (دو پین برای هر موتور) است که برای کنترل جهت موتورها به PIC وصل می شوند. ما همچنین دو سنسور IR داریم که به میکروکنترلر PIC متصل میشوند. شماتیک کامل را میتوانید از انتهای صفحه دانلود کنید.

مطلب پیشنهادی :
پروژه قفل امنیتی در با کیبورد عددی آردوینو با قفل دست ساز

مدار پروژه ماشین مسیریاب

در این پروژه ما از پاوربانک استفاده کردیم که به طور مستقیم از طریق پورت USB آن 5+ ولت را به ما می دهد. از این رو مان نیاز به رگولاتور تنظیم کننده ولتاژ 7805 نداریم و برای PIC ، سنسورها و موتورها از همان استفاده می کنیم. شما می توانید همانطور که در شماتیک نشان داده شده است ، از یک باتری 12 ولت به همراه یک تنظیم کننده نیز استفاده کنید.

همچنین اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید

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

  1. میکروکنترلر PIC16F877A ( مشاهده دیتاشیت )
  2. سنسور مادون قرمز – 2 عدد
  3. Gear DC موتور – 2 عدد
  4. موتور درایو L293D
  5. پاور بانک یا منبع تغذیه 12 ولت به همراه رگولاتور 7805

توضیحات کد پروژه ربات

در بالا با تصاویر نحوه حرکت ربات را نشان دادیم در اینجا میخواهیم کد را نیز توضیح بدهیم. ما باید برای میکروکنترلر تعریف کنیم که در چه حالت هایی کدام موتور ها را فعال کند.

در این قسمت از کد ما میگوییم که اگر هر دو سنسور IR روی خط سیاه نباشند هر دو موتور حرکت کنند.

if (RD2==1 && RD3==1) //هر دو سنسور روی خط سیاه نیستند
         {
         RC4=0; RC5=1; //موتور 1 حرکت کند
         RC6=1; RC7=0; //موتور 2 حرکت کند
         }

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

else if (RD2==0 && RD3==1) //سنسور سمت جپ روی خط سیاه باشند
      {
      RC4=1; RC5=1; //موتور 1 خاموش
      RC6=1; RC7=0; //موتور 2 حرکت کند
      }

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

else if (RD2==1 && RD3==0) //سنسور سمت راست روی خط سیاه باشد
         {
         RC4=0; RC5=1; //موتور 1 حرکت کند
         RC6=1; RC7=1; //موتور 2 خاموش
         }

در این قسمت از کد ما میگوییم که اگر هر دو سنسور IR روی خط سیاه باشند هر دو موتور خاموش شوند.

else //هر دو سنسور روی خط سیاه باشند
         {
         RC4=1; RC5=1; //موتور 1 خاموش
         RC6=1; RC7=1; //موتور 2 خاموش
         }

موارد موجود در فایل : فایل سورس کامل ، شماتیک کامل و …

دانلود فایل های پروژه

نظرتان را در مورد این مطلب با ستاره دادن اعلام کنید
امیدوارم این مطلب برای شما مفید بوده باشد. نظرات ، مشکلات و پیشنهادات خود را در پایین صفحه اعلام کنید
محمد رحیمی

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید را قرار دهم. مالکیتی بر مطالب ارائه شده ندارم. اکثر فعالیت بنده در زمینه ترجمه است. (در خصوص سوال در مورد این مطلب از قسمت نظرات همین مطلب اقدام کنید)

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

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