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

طراحی ربات دنبال کننده خط با رزبری پای

سلام. طراحی ربات دنبال کننده خط با رزبری پای را آماده کردیم.

آموزش ساخت ربات مسیریاب با Raspberry pi

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

همچنین بقیه پروژه های ربات مسیریاب را ببینید :

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

  1. رزبری پای 3 یا هر مدل دیگر
  2. سنسور مادون قرمز IR – دو عدد
  3. موتور DC Gear – دو عدد
  4. درایور موتور L293D

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

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

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

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

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

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

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

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

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

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

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

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

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

توضیحات مدار پروژه

شماتیک مدار پروژه در تصویر زیر نشان داده شده است.

اموزش ساخت ربات مسیریاب با Raspberry pi

همانطور که میبینید مدار شامل دو سنسور مادون قرمز و یک جفت موتور متصل به رزبری پای است.  ما مدار را با استفاده از یک پاور بانک تغذیه کرده ایم شما میتوانید از روش دلخواه خود استفاده کنید.

پین های رزبری پای

همانطور که در تصویر نشان داده شده است ، پین گوشه بالا سمت چپ PI پین + 5 ولت است ، ما از این پین +5V برای تغذیه سنسورهای IR استفاده می کنیم. سپس پین های GND را با استفاده از سیم سیاه به GND سنسور IR و ماژول درایور موتور وصل می کنیم.

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

برای رانندگی موتورها ، به چهار پین (A ، B ، A ، B) نیاز داریم. این چهار پین به ترتیب در 14 ،4 ، 17 و 18 GPIO متصل شده اند. سیم نارنجی و سفید با هم اتصال یک موتور را تشکیل می دهند. بنابراین برای دو موتور دو جفت مشابه داریم.

همانطور که در تصویر نشان داده شده است ، موتورها به ماژول درایور موتور L293D متصل می شوند و ماژول درایور توسط یک پاوربانک تغذیه می شود. اطمینان حاصل کنید که GND پاوربانک به GND Raspberry Pi وصل شده باشد ، فقط در این صورت اتصال شما کار خواهد کرد.

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

هنگامی که با مونتاژ و اتصالات پایان رسید ، روبات شما باید چیزی شبیه به این باشد.

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

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

ما میخواهیم پرونده GPIO را از کتابخانه وارد کنیم. کد زیر باعث میشود بتوانیم پین های GPIO برد رزبری پای را برنامه ریزی کنیم. همچنین مانند قسمت قبلی آموزش، نام GPIO را به IO تغییر میدهیم. و هر بار بخواهیم به پین های GPIO مراجعه کنیم از کلمه IO استفاده میکنیم.

import RPi.GPIO as IO

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

IO.setwarnings(False)

ما می توانیم پین های GPIO رزبری پای یا شماره پین آن یا شماره GPIO آن ها وارد کنیم. به طور مثال پین 35 روی برد Raspberry pi، همان پین GPIO 19 است. بنابراین ما میتوانیم آن را با 19 یا 35 معرفی کنیم.

IO.setmode (IO.BCM)

ما 6 پین را به عنوان پین های ورودی و خروجی تنظیم میکنیم. دو پین اول به عنوان پین های ورودی برای خواندن مقادیر سنسور مادون قرمز هستند. چهار مورد بعدی پین های خروجی هستند که موتور های سمت راست و جپ را کنترل میکنند.

IO.setup(2,IO.IN) #GPIO 2 -> سنسور مادون قرمز سمت چپ
IO.setup(3,IO.IN) #GPIO 3 -> سنسور مادون قرمز سمت راست

IO.setup(4,IO.OUT) #GPIO 4 -> ترمینال A موتور راست
IO.setup(14,IO.OUT) #GPIO 14 -> ترمینال B موتور راست

IO.setup(17,IO.OUT) #GPIO 17 -> ترمینال A موتور چپ 
IO.setup(18,IO.OUT) #GPIO 18 -> ترمینال B موتور چپ

سنسور مادون قرمز اگر سطح سفید را حس کنید مقدار True را نشان میدهد و همانطور که در بالاتر گفته شد هنگامی که هر دو سنسور true باشند و سطح سفید را شناسایی کنند ربات رو به جلو حرکت میکند.

   if(IO.input(2)==True and IO.input(3)==True): #هر سنسور روی سطح سفید
        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): #چرخش به راست
        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): #چرخش به چپ
        IO.output(4,True) #1A+
        IO.output(14,False) #1B-

        IO.output(17,True) #2A+
        IO.output(18,True) #2B-

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

   else:  #توفق ربات
        IO.output(4,True) #1A+
        IO.output(14,True) #1B-

        IO.output(17,True) #2A+
        IO.output(18,True) #2B-

فیلم عملکرد پروژه ربات دنبال کننده خط

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

دانلود فیلم عملکرد ربات دنبال کننده خط با Raspberry pi

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

برای دانلود فایل ها باید عضو آیرنکس باشید، تنها چند ثانیه زمان لازم است.

ورود / ثبت نام

[lrm_form default_tab=”register” logged_in_message=””]

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

محمد رحیمی

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

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

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