در این پروژه می خواهیم یک ربات دست که حرکت دست شما را از طریق یک دستکش کنترل سنسور دار به صورت بی سیم تقلید می کند را طراحی کنیم.
در واقع یک دست مصنوعی است که توسط یک دستکش با سنسورهای Flex کنترل می شود. دست مصنوعی با دستکش کنترل ، بصورت بی سیم حرکات دست را تقلید می کند. دست و دستکش هر دو با آردوینو عمل می کنند.
لینک دانلود ویدیوی طراحی ربات دست کنترل از راه دور با دستکش کنترل
قطعات مورد نیاز
قطعات مورد نیاز برای دستکش کنترل :
- یک دستکش الاستیک (ارتجاعی)
- برد آردوینو LilyPad : دقیقاً مانند Arduino UNO کار می کند، بنابراین می توانید از Arduino Nano نیز استفاده کنید. فقط باید حواستان به ولتاژ باشد.
- ماژول XBee : برای ارتباط رادیویی
- شیلد اتصال ماژول XBee
- 5 عدد سنسور اندازه گیری خمیدگی (flex sensor) 2.2”
- 5 عدد مقاومت KΩ 47
- بسته باتری با باتری های 3×1.5 V (ماژول LilyPad از 2.7 تا 5.5 ولت تغذیه می شود، بنابراین 4.5 ولت باتری مناسب است)
- آداپتور LilyPad FTDI : برای اتصال ماژول LilyPad به کامپیوتر و بارگذاری کدها با Arduino IDE
قطعات مورد نیاز برای ربات دست
- مقداری چوب برای کف دست و پیچ و مهره برای حرکت انگشتان
- ماژول آردوینو UNO
- ماژول XBee
- 5 عدد سروو موتور 5 ولت (ما از TowerPro SG90 استفاده کردیم)
- شیلد سروو موتور برای آردوینو : که دارای رگولاتور سوئیچینگ برای تغذیه کل مدار باشد.
- شیلد برای اتصال ماژول XBee
- باتری 9 ولت
ابزار مورد نیاز
- مینی فرز
- axial grinder
- دستگاه جوشکاری (با الکترود)
- دریل
- دستگاه لحیم کاری با هویه
- قیچی برقی
- دم باریک
- وارنیش حرارتی
ساخت دستکش کنترل
برای ساخت دستکش کنترل ، پیشنهاد می کنم ابتدا موقعیت مناسب اجزا را انتخاب کنید، سپس با طول مناسب سیم، آنها را متصل کنید.
برای خواندن آنالوگ با Arduino LilyPad ، باید یک تقسیم کننده ولتاژ ایجاد کنید، زیرا سنسورهای Flex مانند پتانسیومتر عمل نمی کنند.
طبق تصویر شماتیک ابتدا پنج مقاومت را روی بورد LilyPad ، یک طرف را به 5 پین مختلف آنالوگ، و طرف دیگر را به زمین لحیم کنید. سپس سنسورهای Flex را از یک طرف به 5 پین آنالوگ مختلف و طرف دیگر آنها را به قطب مثبت لحیم کنید.
سپس شیلد XBee را وصل کنید: دو سیم برای برق و دو سیم دیگر را برای سیگنال قرار دهید. پین Tx را به Rx و برعکس لحیم کنید.
سپس باتریها را وصل کنید، حال دستکش کنترل آماده است.
ساخت ربات دست
مونتاژ ربات دست به دلیل جزئیات زیادی که دارد کار سختی است اما اگر پرینتر سه بعدی داشته باشید، کارتان راحت است. ما در اینجا با استفاده از چوب و پیچ و مهره آن را ساختیم. به اینصورت که برای انگشتان دست، از چوب استفاده کردیم. سپس با یک مینی فرز شیارها را بتراشید تا بند انگشتان در کنار هم قرار بگیرند.
برای اینکه بند انگشتان حرکت کنند و دست بچرخد باید قطعات حالت منحنی داشته باشند، برای همین منظور نیاز به کاغذ سمباده خواهید داشت.
برای ایجاد لولا بین بند انگشتان از دریل استفاده کنید، سپس باید دو سوراخ دیگر برای قرار دادن سیم بصورت عمودی، یکی به سمت داخل دست و دیگری به سمت بیرون ایجاد کنید. بنابراین هنگامیکه سیمها در بالای انگشت قرار دارند، وقتی یکی را به سمت داخل می کشید، انگشت بسته می شود و هنگامیکه دیگری را به سمت بیرون می کشید، انگشت باز می شود. کف دست را از جنس فلز ساختیم چون محکم و مقاوم است.
پس از مونتاژ ربات دست باید از پنج سروو موتور و یک ماژول Arduino UNO به عنوان میکروکنترلر استفاده کنید. دقت کنید که سروو موتورها را در جای مناسبی قرار دهید تا موقع چرخش با هم برخورد نکنند.
حال باید انگشتان را به سروو موتورها وصل کنید: سیم ها (ما از سیم ماهیگیری استفاده کردیم) را در بالای انگشتان ثابت کنید و آنها را از سوراخ ها عبور دهید. سپس هنگامیکه سیمها در انتهای ربات دست قرار گرفتند، موتور را بدون روشن کردن و به صورت دستی تا حداکثر چرخش، به میزان 180 درجه بچرخانید تا در حالت عمودی قرار بگیرد.
سپس انگشتان را با سیم به پایین ترین سوراخ وصل کنید. موتور را در زاویه 0° قرار دهید که باز هم عمودی است، سپس سیم دیگر که انگشتان را باز می کند را به پایین ترین سوراخ وصل کنید. برای درک بهتر این قسمت تصاویر زیر را ببینید.
بنابراین هنگامیکه موتور در صفر درجه و عمودی است، انگشتان باز می شوند و هنگامیکه موتور در 180 درجه و باز هم عمودی است، انگشتان ربات دست بسته می شوند.
مدار ربات دست
برای طراحی مدار ربات دست می توانید از یک شیلد سروو موتور برای آردوینو UNO و یک شیلد XBee استفاده کنید. شیلد XBee مورد استفاده از یک مقاومت 12 کیلواهم و 22 کیلواهم استفاده می کند. تصاویر زیر دیاگرام مدار را نشان می دهند:
سروو موتورها از سه سیم تشکیل شده اند:
- سیم زرد: سیگنال (به یک پین دیجیتال وصل است)
- سیم قرمز: منبع تغذیه (+5 ولت)
- سیم قهوه ای: زمین (GND)
ما از ساده ترین نوع سروو موتور استفاده کردیم که در 5 ولت با زاویه چرخش 180 درجه کار می کند (این زاویه برای کار ما عالی است).
پورت USB کامپیوتر نمی تواند نیروی کافی برای کنترل پنج سروو موتور را تأمین کند، بنابراین بهتر است که ابتدا از یک منبع تغذیه 12 ولت برای تست عملکرد مدار و در نهایت از یک باتری 9 ولت استفاده کنید.
برنامه نویسی ربات دست
توجه داشته باشید که قبل از آپلود کد برنامه، ماژول XBee را که به پین های TX و RX آردوینو وصل است را خارج کنید، در غیر اینصورت برنامه بارگذاری نمی شود. همچنین در این پروژه تنها از ماژولهای LilyPad یا Arduino UNO برای اتصال به محیط برنامه نویسی IDE استفاده کنید.
لینک دانلود کدهای برنامه ربات دست :
لینک دانلود کد تست سنسور اندازه گیری خمیدگی در دستکش کنترل
لینک دانلود کد تست اتصال Lilypad به Arduino Uno
شماتیک مدار
لینک دانلود شماتیک دستکش کنترل و دیاگرام ربات دست
چقدر جالب و سخت!