
به نام خدا
ربات دنباله کننده خط با استفاده از رزبری پای
در این آموزش قصد داریم تا با استفاده از رزبری پای و سنسور های مادون قرمز یک ربات دنبال کننده ی خط بسازیم. برای اینکه ربات بتواند خط را دنبال کند به دو ماژول مادون قرمز نیاز داریم. این ربات از دقت بالایی برخوردار است که به راحتی می تواند یک خط را دنبال کند و هنگامی که به پایان مسیر رسید متوقف شود.
قطعات مورد نیاز ربات دنباله کننده خط با استفاده از رزبری پای :
رزبری پای سه یا هر مدل دیگری
دو عدد مازول مادون قرمز
دو عدد DC Gear Motor
راه انداز موتور L293D
شاسی ربات
نحوه ی دنبال کردن خط توسط ربات :
ربات دنبال کننده ی خط به کمک دو سنسور مادون قرمز می تواند خطی را دنبال کند و در جاهایی که خط پیچید ربات نیز بپیچد. این سنسور ها به تنهایی دارای یک گیرنده و یگ فرستنده هستند. که فرستنده به صورت پیوسته درحال ارسال موج مادون قرمز می باشد. هنگامی که مقابل این سنسور ها سطح سفید رنگی باشد تمامیه موج منعکس می شود و به گیرنده می رسد حال اگر این امواج به سطحی با رنگی مشکی برخورد کند تمام آن را جذب می کند و چیزی به سنسور نمی رسد.
برای اینکه بدانیم ربات در جهت خط حرکت می کند از دو سنسور مادون قرمز استفاده کردیم و همچنین از دو موتور به طور مجزا استفاده کردیم تا در صورت نیاز بتوانیم ربات را بچرخانیم. در شکل زیر دیاگرام ربات را مشاهده می کنید.
دو سنسور مادون قرمز در دو طرف خط قرار خواهند گرفت. اگر هیچ کدام از سنسورها به خط مشکی برخورد نکرد ربات همانند شکل زیر به حرکت مستقیم خود ادامه می دهد.
اگر سنسور سمت چپ به خط سیاه برسد ، رزبری پای چرخ چپ را متوقف میکند و چرخ راست را به حرکت در می آورد تا مطابق خط ، ربات صاف شود.
اگر سنسور سمت راست به خط سیاه برسد ، رزبری پای چرخ راست را متوقف میکند و چرخ چپ را به حرکت در می آورد تا مطابق خط ، ربات صاف شود.
اگر هر دو سنسور مقابل خط سیاه قرار گیرد ربات می ایستد.
این راهی ست که ربات می تواند به درستی خط مربوطه را دنبال کند بدون اینکه از مسیر خارج شود.
شماتیک مدار ربات دنباله کننده خط با استفاده از رزبری پای :
در شکل زیر شماتیک مدار ساخت ربات دنبال کننده ی خط را مشاهده می کنید.
همان طور که شماتیک مدار را مشاهده می کنید ، ربات از دو عدد سنسور مادون قرمز تشکیل شده است. همچنین دو عدد موتور نیز در دوطرف آن قرار دارد. تمام مدار توسط یک پاور بانک و یا یک منبع تغذیه ، تغذیه می شود. از آنجا که اتصالات پین های رزری پای در بالا مشخص نشده است تصویر زیر تمامیه اتصالات لازم را به شما خواهد داد.
دانلود بر نامه ی ربات دنباله کننده خط با استفاده از رزبری پای :
دانلود فایل
import RPi.GPIO as IO import time IO.setwarnings(False) IO.setmode(IO.BCM) IO.setup(2,IO.IN) #GPIO 2 -> Left IR out IO.setup(3,IO.IN) #GPIO 3 -> Right IR out IO.setup(4,IO.OUT) #GPIO 4 -> Motor 1 terminal A IO.setup(14,IO.OUT) #GPIO 14 -> Motor 1 terminal B IO.setup(17,IO.OUT) #GPIO 17 -> Motor Left terminal A IO.setup(18,IO.OUT) #GPIO 18 -> Motor Left terminal B while 1: if(IO.input(2)==True and IO.input(3)==True): #both while move forward IO.output(4,True) #1A+ IO.output(14,False) #1B- IO.output(17,True) #2A+ IO.output(18,False) #2B- elif(IO.input(2)==False and IO.input(3)==True): #turn right IO.output(4,True) #1A+ IO.output(14,True) #1B- IO.output(17,True) #2A+ IO.output(18,False) #2B- elif(IO.input(2)==True and IO.input(3)==False): #turn left IO.output(4,True) #1A+ IO.output(14,False) #1B- IO.output(17,True) #2A+ IO.output(18,True) #2B- else: #stay still IO.output(4,True) #1A+ IO.output(14,True) #1B- IO.output(17,True) #2A+ IO.output(18,True) #2B-
دیدگاهها (0)