با برد آردوینو ربات شش پا بسازید و با هر کنترلی آن را هدایت کنید

Beetle Ringo نام یک ربات شش پا و بسیار کوچک است که با هر نوع ریموت IR (مثل کنترل تلویزیون) هدایت می‌شود. این پروژه آردوینوی ساده نیاز به مهارت حرفه‌ای یا قطعات گران قیمت ندارد و به راحتی می‌توانید آن را بسازید. ضمن اینکه بعد از ساخت ربات شش پا می‌توانید آن را با افزودن قطعات بیشتر یا کامل کردن کدها ارتقا بدهید.

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

گام اول: وسایل مورد نیاز

  • آردوینو Uno
  • هولدر باتری ۹ ولتی با سوئیچ روشن/خاموش
  • باتری آلکالاین ۹ ولتی – دقت کنید باتری‌های زینک – کربنی برای ساخت ربات شش پا مناسب نیستند.
  • سه سروو موتور آنالوگ کوچک – ما از موتور HXT500 استفاده کردیم اما هر نوع سروو در همین سایز و با ولتاژ ۵ ولتی هم قابل استفاده است.
  • گیرنده مادون قرمز (IR) – گیرنده IR را باید متناسب با کنترلی که دارید، انتخاب کنید. اکثر کنترل‌های تلویزیون فرکانس ۴۰kHz دارند که گیرنده‌های ۳۶، ۳۸ و ۴۰ کیلوهرتز برای آنها مناسب است.
  • برد بورد بدون لحیم کوچک
  • سیم جامپر
  • سیم فلزی برای پاها با ضخامت ۱.۵ تا ۲ میلیمتر
  • گیره کاغذ فلزی – اندازه گیره مهم نیست اما قطر سیم آن باید حدود ۰.۹ میلیمتر باشد.

ابزار مورد نیاز

  • چسب حرارتی
  • اره فلزبر یا درمل به همراه دیسک برش
  • سوهان صاف یا درمل به همراه دیسک سنباده
  • دم باریک

گام دوم: آموزش ارتباط با ریموت IR

قبل از اینکه ساخت ربات شش پا را شروع کنید، باید یاد بگیرید چطور فرمان‌های ریموت IR را دریافت کنید. در این مرحله می‌خواهیم کدهای سیگنال ریموت را پیدا کنیم و به خاطر بسپاریم تا بعدا از آنها در اسکچ ربات استفاده کنیم. برای پیدا کردن کدهای سیگنال ریموت به آردوینو Uno، برد بورد، سیم جامپر و یک گیرنده IR نیاز دارید. با این قطعات مداری که در تصاویر بالا می‎بینید را بسازید. دقت کنید این مدار برای گیرنده TSOP2136 طراحی شده و ممکن است مدار شما به نسبت مدل گیرنده نیاز به تغییراتی داشته باشد. بنابراین قبل از هر کاری دیتاشیت گیرنده را چک کنید.

کدهای آردوینوی ربات شش پا را از اینجا دانلود کنید. اگر قبلا با GIT کار کرده باشید، می‌توانید کدها را به صورت مستقیم کلون کنید. در غیر این صورت فایل زیپ را دانلود کنید. نرم‌افزار Arduino IDE را باز کنید و فایل project /ir_receiver/ir_receiver.ino را در آن اجرا کنید. نگاهی به کدها و خط اول آن بیاندازید:

#include "IRremote.h"

این نشان می‌دهد اسکچ از یک کتابخانه مخصوص با نام Rremote.h استفاده می‌کند که کار دریافت و ارسال سیگنال‌های IR را به عهده دارد. این کتابخانه به صورت پیش‌فرض در نرم‌افزار Arduino IDE قرار دارد و باید آن را نصب کنید. اگر اینکار را بلد نیستید، راهنمای نصب کتابخانه آردوینو را بخوانید. بعد از نصب کتابخانه هم نرم‌افزار Arduino IDE را ری‌استارت و اسکچ را مجددا باز کنید.

حالا برای آپلود کدها آماده هستید. آردوینو Uno را با کابل USB به کامپیوتر وصل کنید. به Tools⇒Board بروید و مطمئن شوید روی Arduino Uno تنظیم شده باشد. به Tools⇒Serial Port بروید و مطمئن شوید روی پورتی تنظیم باشد که آردوینو را به آن وصل کرده‌اید.

حالا از مسیر File⇒Upload اسکچ را کامپایل و آپلود کنید.

از مسیر Tools⇒Serial Monitor سریال مانیتور را باز کنید و مطمئن شوید باد ریت روی ۹۶۰۰ تنظیم باشد. یک ریموت IR بردارید و شروع به فشردن دکمه‌هایش کنید. اگر کدها را در سریال مانیتور ببینید، یعنی همه چیز را درست انجام داده‌اید.

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

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

از دو کد منحصر به فرد را می‎دهد. در حالت دوم وقتی برای بار اول دکمه را فشار بدهید، یک کد می‌بینید، بار دوم یک کد دیگر و بار سوم دوباره همان کد اول را خواهید دید.

ربات شش پا می‌تواند ۱۳ نوع حرکت زیر را اجرا کند:

  1. حرکت به جلو
  2. حرکت به عقب
  3. چرخش به راست
  4. چرخش به چپ
  5. حرکت به جلو با چرخش به راست
  6. حرکت به جلو با چرخش به چپ
  7. حرکت به عقب با چرخش به راست
  8. حرکت به عقب با چرخش به چپ
  9. توقف
  10. تنظیم سرعت اول (کمترین سرعت)
  11. تنظیم سرعت دوم
  12. تنظیم سرعت سوم
  13. تنظیم سرعت چهارم (بیشترین سرعت)

دکمه اختصاصی هر کدام از این کارکردها را روی ریموت انتخاب کنید. ما از دکمه‌های ۱ تا ۹ برای نه فرمان اول و چهار دکمه رنگی برای چهار فرمان آخر استفاده می‌کنیم. برای به دست آوردن کد مخصوص این دکمه‌ها هم کافی است هر دکمه را چندبار پشت سر هم فشار بدهید و کدها را یادداشت کنید. سپس از این کدها در اسکچ آردوینو برای کنترل ربات شش پا استفاده خواهیم کرد.

گام سوم: نمونه آزمایشی را بسازید

همانطور که در شماتیک بالا می‌بینید برای ساخت مدار از قسمت بسیار کوچکی از برد بورد (۱۰×۵ پین) استفاده می‌کنیم. این سایز برد بوردی است که بعدا روی ربات نصب خواهیم کرد.

اسکچ /ir_ringo/ir_ringo.ino را در نرم‌افزار Arduino IDE باز کنید. در پنجره ادیتور دو زبانه می‌بینید: ir_ringo و ir_command_codes.h. ما اسکچ را به دو بخش تقسیم کردیم: منابع مشترک و کدهای IR شخصی. قبل از اینکه کدها را روی آردوینو آپلود کنید، کدهای IR خودتان را در اسکچ جایگزین کنید. دقت کنید که می‌توانید هر فرمان را به چند دکمه اختصاص بدهید. در این صورت می‌توانید از چند ریموت به صورت همزمان برای کنترل ربات شش پا استفاده کنید. بعد از تغییر اسکچ هم می‌توانید آنها را روی آردوینو آپلود کنید. وقتی اسکچ راه‌اندازی بشود، سرووها در پوزیشن ۹۰ درجه حرکت می‌کنند.

حالا می‌توانید نمونه آزمایشی ربات شش پا را تست کنید. دکمه حرکت به جلو را روی ریموت IR فشار بدهید. حالا همه سرووها باید دور پوزیشن ۹۰ درجه به حرکت دربیایند. دکمه‌های رنگی را فشار بدهید و تغییر فرایند حرکت را بررسی کنید. سرعت ربات را روی کمترین سرعت تنظیم کنید و دکمه حرکت به عقب را فشار بدهید. حالا فاز سرووی مرکزی باید دوباره تغییر کند.

فراموش نکنید باتری و هولدر سوئیچ‌دار را چک کنید. کابل USB را از آردوینو جدا کنید و هولدر باتری را به آن وصل کنید. مطمئن شوید سیم قرمز (مثبت) در پین Vin و سیم دیگر (منفی) در پین GND کنترلر قرار داشته باشد. حالا سوئیچ هولدر را روی روشن بگذارید و مراحل تست را دوباره تکرار کنید.

گام چهارم: طرز کار سرووهای ربات

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

سرووی سمت چپ می‌تواند طرف چپ ربات را به جلو و عقب هدایت می‌کند. سرووی سمت راست هم اینکار را برای طرف راست ربات انجام می‌دهد. سرووی وسطی هم ربات را به سمت راست یا چپ متمایل می‌کند تا دو سرووی دیگر بتوانند کارشان را بکنند.

همانطور که می‌بینید هر سه سروو فرایندهای نوسانی اجرا می‌کنند. اسکچ هم کار تعیین دامنه، بازه زمانی و فازهای نوسان‌ها را به عهده دارد.

گام پنجم: آردوینو Uno را نصب کنید

هولدر باتری تکیه گاه اصلی بدنه است و سایر قطعات (کنترلر، سرووها و برد بورد کوچک) روی آن نصب می‎شوند.

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

گیره کاغذ را باز کنید و آن را طبق شکل استنسیل تا کنید. سپس براکتی که ساخته‌اید را در پین‎های دیجیتال I/O نه و دوازده قرار بدهید. سپس این براکت را با چسب حرارتی به کف هولدر باتری بچسبانید. جای هولدر باتری را طوری تنظیم کنید که سوئیچ روشن/خاموش پشت ربات شش پا قرار بگیرد.

نگران پل شدن پین‌های ۹ و ۱۲ هم نباشید چون در اسکچ از آنها استفاده نخواهیم کرد.

این قسمت از محتوا قفل شده است

برای دیدن این قسمت وارد شوید

عضویت در ساختنی رایگان است

گام ششم: برد بورد کوچک را آماده کنید

هرچه برد بورد کوچکتر باشد بهتر است چون سبک‎تر خواهد بود. برد بورد ۱۰×۵ پین برای ساخت ربات شش پا مناسب است. چنین برد بورد کوچکی را از دو روش می‎توانید به دست بیاورید.

خرید کیت برد بورد مینی که بردهای بسیار کوچکی شبیه به لگو هستند. این بردها ۵×۵ پین هستند و با چسباندن دوتا از آنها به یکدیگر می‎توانید یک برد بورد ۱۰×۵ داشته باشید.

در روش دوم هم باید برد مورد نیازتان را از یک برد بورد معمولی ببرید. یک تکه ۱۰×۵ پین را روی برد بورد معمولی علامت بزنید و آن را با درمل یا اره ببرید. بعد از برش هم لبه‌ها را با سوهان یا درمل صاف و نرم کنید.

گام هفتم: ربات را مونتاژ کنید

ابتدا باید سه سروو موتور را روی هولدر باتری نصب کنید. برچسب پشت سرووها را باز کنید و آنها را با چسب حرارتی روی هولدر بچسبانید. زبانه‌های نصب را هم بشکنید چون به آنها نیاز نداریم و فقط فضا اشغال خواهند کرد.

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

حالا نوبت به نصب برد بورد کوچک می‌رسد. برچسب روی چسب را بردارید و روی همین قسمت کمی چسب حرارتی بزنید. برد بورد را پشت سرووی وسطی بچسبانید.

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

کانکتورهای سیم جامپر بسیار بلند است و همین اتصال سیم‌ها به پین‌های +۵V، GND و A0 آردوینو را سخت می‌کند. برای حل این مشکل باید کانکتورها را در زاویه ۹۰ درجه خم کنید.
سیم‌های هولدر باتری هم خیلی نازک هستند و نمی‌شود آنها را به پین‎های GND و Vin آردوینو وصل کرد. برای اینکار سیم‌ها را دوبل کنید و به آنها کانکتور وصل کنید (همان کانکتور سیم جامپر).

حالا می‌توانید هولدر باتری را روشن کنید و دکمه‌های ریموت را بزنید و کارکرد ربات شش پا را تست کنید. بعد از ارسال فرمان توقف، اسکچ سرووها را در پوزیشن صفر (۹۰ درجه) قرار می‌دهد. این بهترین پوزیشن برای نصب شاخ‌های سروو است. شاخ سرووی وسطی باید افقی و شاخ سرووهای راست و چپ باید زاویه ۴۵ درجه داشته باشد. بعد از نصب شاخ‎ها را به سرووها پیچ کنید و قسمت داخلی بلند آنها را ببرید تا در حین حرکت بهم برخورد نکنند.

گام هشتم: پاهای ربات را بسازید

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

ساخت پاهای ربات به کمک استنسیل‌ها و تصاویر بالا بسیار ساده است. اما برای ساخت پاهای وسطی باید نکات زیر را هم در نظر داشته باشید:

شکل پاهای وسطی کمی پیچیده‌تر از استنسیل است. پس اول پاها را طبق استنسیل بسازید و سپس شکل آنها را با توجه به تصاویر تنظیم کنید. اگر اینکار را نکنید پاهای وسطی و کناری در هم گیر خواهند کرد.

طول پاهای وسطی در استنسیل کمی بلندتر از اندازه واقعی است. بهتر است آنها را کمی کوتاه کنید تا در هوا آویزان بمانند.

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

ربات شش پا آماده است

ربات شما آماده است اما ساخت آن هیچوقت تمام نمی‌شود. شما می‌توانید با ویرایش کدها قابلیت‌های ربات شش پا را افزایش بدهید یا سنسورهای سازگار با آردوینو به آن اضافه کنید. همچنین می‌توانید گیرنده IR را با ماژول بلوتوث جایگزین کنید و برای ربات اپلیکیشن موبایل طراحی کنید.

منبع

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

نشانی ایمیل شما منتشر نخواهد شد.

  • تلگرام
  • اینستاگرام
  • واتس اپ
  • تماس