آموزش 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 خاموش
         }

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

4.6 (9 نفر)

برای دریافت مطالب جدید کانال تلگرام یا پیج اینستاگرام ما را دنبال کنید.

محمد رحیمی

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

4 نظر

    1. سلام عزیز
      این پروژه برای PIC هست اگر میخواهید از AVR استفاده کنید میتونید دوره آموزش AVR را ببینید نحوه ساخت ربات مسیریاب به طور کامل آموزش داده شده.

    1. سلام عزیز، منظورتون رو متوجه نشدم

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

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