آردوینو Arduinoپروژه های آردوینو

پروژه ربات دنبال کننده خط با آردوینو (ساخت مسیریاب)

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

ربات مسیریاب (مسیر یاب، دنبال کننده خط) یک ماشین است که به دنبال یک خط سفید یا سیاه است. اساسا دو نوع ربات دنبال کننده خط وجود دارد. یکی دنبال کننده خط سیاه و دیگری دنبال کننده خط سفید است. مفهوم کار این ربات به نور بستگی دارد. در این پروژه آردوینو کار ما دنبال کردن خط سیاه با ربات است. وقتی که نور بر یک سطح سفید بتابد، تقریبا کاملا منعکس میشود و وقتی که سطح سیاه باشد جذب میشود. این قضیه باعث میشود ربات مسیر یاب ما کار کند.

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

این ربات به 3 بخش تقسیم میشود:

  1. بخش سنسور
  2. بخش کنترل
  3. بخش راننده

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

 

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

همچنین اگر میخواهید الکترونیک را با فیلم های آموزشی یاد بگیرید، روی دوره آموزش الکترونیک کلیک کنید.

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

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

بخش کنترل : از Arduino Pro Mini برای کنترل محاسبات ربات مسیریاب استفاده میکنیم. خروجی مقایسه کننده به پین شماره 2 و 3 آردوینو متصل میشود. آردوینو این سیگنال ها را میخواند و دستورات را به مدار درایور ارسال میکند تا ربات مسیر صحیح را دنبال کند.

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

همچنین ببینید : آموزش کامل ساخت ماشین دنبال کننده خط ( پروژه ربات مسیریاب PIC )

نحوه کار پروژه دنبال کننده خط

کار با این ربات خیلی جالب است، این ربات با استفاده از سنسور ها خط سیاه را حس میکنند و سیگنال را به Arduino میفرستند و بعد آردوینو اطلاعات حرکت را به موتور ها اعلام میکند!

در این پروژه همانطور که گفتیم از 2 سنسور استفاده میکنیم که یکی در سمت راست و یکی در سمت چپ است. وقتی که دو سنسور سمت چپ و راست سطح سفید را حس کنند ربات به جلو حرکت میکند.

مطلب پیشنهادی:  ربات تمیز کننده سطوح با آردوینو (ربات نظافتچی و پاک کننده)

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

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

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

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

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

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

تصاویر بالا را میتوانید با جدول زیر مقایسه کنید تا بهتر متوجه شوید :

همچنین اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید
ورودی خروجی حرکت ربات
سنسور چپ سنسور راست موتور چپ Right موتور راست
LS RS LM1 LM2 RM1 RM2
توقف ربات
1 1 چرخش به راست
1 1 چرخش به چپ
1 1 1 1 حرکت به جلو

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

شماتیک

  1. برد آردوینو Pro mini
  2. ماژول سنسور مادون قرمز – دو عدد
  3. موتور DC – دو عدد
  4. موتور درایور L293D 
  5. مقاومت 1 کیلو اهم – چهار عدد
  6. مقاومت 10 کیلو اهم – دو عدد
  7. پتانسیومتر 10 کیلو اهم – دو عدد
  8. مقایسه کننده آپ امپ LM358 – دو عدد
  9. باتری 9 ولت
  10. رگولاتور 7805

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

در قسمت اول کد ما پین های سنسور و موتور ها را تعریف میکند:

#define LS 2      // سنسور چپ
#define RS 3      // سنسور راست
#define LM1 4       // موتور چپ
#define LM2 5       // موتور چپ
#define RM1 6       // موتور راست
#define RM2 7       // موتور  راست

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

  pinMode(LS, INPUT); // ورودی
  pinMode(RS, INPUT); // ورودی
  pinMode(LM1, OUTPUT); // خروجی
  pinMode(LM2, OUTPUT); // خروجی
  pinMode(RM1, OUTPUT); // خروجی
  pinMode(RM2, OUTPUT); // خروجی

در قسمت پایین ما برای نمونه یک عملکرد ربات را توضیح میدهیم، ما در این قسمت تعریف میکنیم در چه حالت ربات باید به سمت راست بپیچد:

  if(!(digitalRead(LS)) && digitalRead(RS))     // هنگامی که سنسور سمت راست روی خط سیاه برود
  {
    digitalWrite(LM1, LOW); // موتور سمت چپ خاموش
    digitalWrite(LM2, LOW); // موتور سمت چپ خاموش
    digitalWrite(RM1, HIGH); // موتور سمت راست فعال
    digitalWrite(RM2, LOW); // موتور سمت راست
}
موارد موجود در فایل : شماتیک کامل ، فایل Hex ، فایل آردوینو ، و …

برای دانلود پروژه کلیک کنید !

میخواهید برنامه نویسی STM32 را یاد بگیرید؟

دوره آموزش STM32

میخواهید الکترونیک را یاد بگیرید؟

دوره آموزش الکترونیک
دوره آموزش آردوینو

میخواهید آردوینو را به صورت پروژه محور یاد بگیرید؟ برای مشاهده توضیحات روی دوره مورد نظر کلیک کنید

محمد رحیمی

محمد رحیمی

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

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

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