آردوینو آردوینو Arduino Uno رباتیک پروژه های آردوینو

مدار فرمان ربات بازو MeArm با آردوینو و جوی استیک و سرو موتور

me-arm-robot-with-Joystick-digispark
نوشته شده توسط علی فلاحی

پیش از این در خصوص ربات بازو MeArm و چگونگی ساخت آن، آموزش دادیم. در این آموزش با استفاده از برد آردوینو و دو عدد جوی استیک، این ربات بازو را کنترل می‌کنیم. همچنین روش تهیه قطعات برش خورده و آماده مونتاژ را هم توضیح داده‌ام. از آنجایی که در ساخت ربات بازو meArm از سرو موتور استفاده شده است، بسته به خلاقیت کاربر، می توان از سخت افزارهای متعددی برای مدیریت آن استفاده کرد. در این آموزش از یک آردوینو uno R3  استفاده شده است. سروو موتورها به کمک ۲ عدد جوی استیک کنترل می‌شوند. یکی از مهم‌ترین قسمت‌ها که چالش زیادی هم دارد، کالیبره کردن سرو موتورها می‌باشد. در ادامه با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.

 

 


راه اندازی ربات بازو MeArm


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

 


کالیبراسیون Servo Motor بازو


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

 

 

اتصالات سرو موتورها را به ترتیب زیر برقرار کنید. دقت داشته باشید که هر سرو موتور دارای یک پایه تغذیه و یک پایه GND می‌باشد. اتصال این دو پایه هم باید برقرار شود. این موارد در پست ۳ روش راه اندازی سرو موتور با آردوینو کاملا آموزش داده شده است. نکته‌ی مهم برای راه اندازی سروو موتورها، نیاز به یک منبع تغذیه مجزا دارید. حتما از یک منبع تغذیه جداگانه با ولتاژ ۵ الی ۶ ولت استفاده کنید. جریان برد آردوینو برای راه اندازی سروو موتورها کافی نمی‌باشد.

  • سروو موتور وسط (middle) را به پایه ۱۱ آردوینو
  • سروو موتور چپ (left) را به پایه ۱۰آردوینو
  • سروو موتور راست (right) را به پایه ۹آردوینو
  • سروو موتور گیره(claw) را به پایه ۶ آردوینو

 

 

راهنمای اتصالات برد ربات بازوی meArm

 

 


اتصال جوی استیک


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

  • جوی استیک ۱ :
  • VRX = analog 0
  • VRY = analog 1
  • منفی منبع تغذیه = GND
  • سیم مثبت منبع تغذیه = ۵v+

 

  • جوی استیک ۲ :
  • VRX = analog 3
  • VRY = analog 4
  • منفی منبع تغذیه = GND
  • سیم مثبت منبع تغذیه = ۵v+

 


کتابخانه آردوینو ربات بازو


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

 


کد آردوینو ربات بازو


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

 

 

 

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

 


پروژه و دریافت بن ارسال رایگان


برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و یا حتی مدار جدیدی تعریف کنید. سپس از اجرای کار فیلم گرفته و در شبکه‌های اجتماعی از جمله آپارات و اینستگرام، با هشتگ‌های دیجی_اسپارک   دانشجوکیت    digispark    daneshjookit منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۲۰۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید. در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

 

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

علی فلاحی

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

تبادل نظر و رفع عیب با ثبت دیدگاه

۸ دیدگاه

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

    • با سلام و تشکر ازشما
      مواردی که شما میفرمایید در بخش کالیبراسیون این آموزش قرار دارد. کافیست کدهایی که ارایه شده است را روی برد آپلود کنید. البته اتصالات سرو موتورها به ترتیب دیتاشیت اهمیت دارد.

      • شاید سوالم رو بد مطرح کردم. ببینید فرض کنید کد کالیبره کردن رو بر روی آردوینو آپلود کردیم و اجرا کردیم. در این حالت فقط برای سادگی کار، چنگک رو در نظر میگیریم که به زاویه ۹۰ درجه میره. حالا میخوایم سروو را به شفت چنگک وصل کنیم. در این حالت باید چنگک بسته باشد یا باز یا در وسط باشد؟ به همین ترتیب برای سایر موتور ها. چون اگر سرووی کالیبره شده رو به بازویی که در زاویه ای نادرست (که نمیدانم درستش چجوریه) قرار داره وصل کنیم، هنگام حرکت ممکنه که بازو به انتها برسه و فضایی برای چرخش بیشتر وجود نداشته باشه. با تشکر

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