فهرست مطالب:
- مرحله 1: مرور پروژه
- مرحله 2: شماتیک
- مرحله 3: نمودار کنترلر PS2
- مرحله 4: اتصال ماژول های Zio را تنظیم کنید
- مرحله 5: Robotic Arm Servo را به Zio 16 Servo Controller وصل کنید
- مرحله 6: 16 Servo خود را به تقویت کننده DC/DC متصل کرده و آن را روی 6.0V تنظیم کنید
- مرحله 7: Zuino M Uno را به Zio 16 Servo Controller وصل کنید
- مرحله 8: اتصال Uno به گیرنده PS2
- مرحله 9: کد بازوی روباتیک
- مرحله 10: کد خود را اجرا کنید
- مرحله 11: توضیح کد
تصویری: بازوی روباتیک با ماژول های زیو قسمت 2: 11 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:55
در آموزش امروز ، ما از 4 سرویس و یک کنترلر بی سیم PS2 برای کنترل بازوی روباتیک استفاده می کنیم.
این پست وبلاگ بخشی از سری Zio Robotics است.
معرفی
در وبلاگ قبلی خود ، ما قسمت 1 آموزش نحوه کنترل بازوی روباتیک با استفاده از ماژول های Zio را منتشر کردیم. قسمت 1 بیشتر روی کنترل خودکار باز و بسته شدن پنجه بازوی بازوی شما متمرکز بود.
در آموزش امروز ، ما با استفاده از یک کنترلر بی سیم PS2 برای کنترل بازوی Robotic ، کمی آن را افزایش می دهیم. برای این پروژه ، ما از 4 سرو استفاده می کنیم.
مرحله 1: مرور پروژه
سطح دشواری:
زیو پادوان
منابع مفید:
شما باید درک درستی از نحوه نصب بردهای توسعه Zio داشته باشید. در این آموزش ، فرض می کنیم که صفحه توسعه شما قبلاً پیکربندی شده است و آماده راه اندازی است. اگر هنوز برد خود را پیکربندی نکرده اید ، برای شروع ، آموزش راهنمای شروع Zio Qwiic را در زیر مشاهده کنید:
راهنمای شروع Zio Zuino M UNO Qwiic
مرحله 2: شماتیک
در اینجا نمودارهای سیم کشی پروژه بازوی روباتیک قسمت 2 و همچنین نمودار کنترلر PS2 مورد نیاز برای درک بخش کدگذاری شما آمده است.
مرحله 3: نمودار کنترلر PS2
مرحله 4: اتصال ماژول های Zio را تنظیم کنید
در زیر اتصال ماژول های Zio ما برای راه اندازی با بازوی Robotic است. اتصال همه ماژول ها به یکدیگر بسیار آسان است و راه اندازی آن بیش از 10 دقیقه طول نمی کشد.
مرحله 5: Robotic Arm Servo را به Zio 16 Servo Controller وصل کنید
مرحله 6: 16 Servo خود را به تقویت کننده DC/DC متصل کرده و آن را روی 6.0V تنظیم کنید
ما از تقویت کننده DC/DC برای افزایش و تنظیم ولتاژ تغذیه باتری تا 6.0 استفاده می کنیم.
از پتانسیومتر روی DC Booster برای تنظیم ولتاژ تا رسیدن 6.0 استفاده کنید. دکمه ورود/خروج را فشار دهید تا صفحه نمایش 6.0 نشان داده شود. برای تنظیم ولتاژ ، ابتدا باید منبع تغذیه (باتری 3.7 ولت) را برای تقویت کننده DC/DC خود تامین کنید.
مرحله 7: Zuino M Uno را به Zio 16 Servo Controller وصل کنید
Qwiic Zuino M Uno را با کابل qwiic به کنترل کننده Zio Servo متصل کنید.
مرحله 8: اتصال Uno به گیرنده PS2
در اینجا نمودار پین اتصالات آمده است. برای این قسمت به 5 سیم بلوز نر به ماده نیاز دارید.
مرحله 9: کد بازوی روباتیک
ما از کتابخانه آردوینو PS2 برای کدگذاری کنترلر بی سیم PS2 خود برای کار با بازوی روباتیک خود استفاده خواهیم کرد. می توانید کد منبع این پروژه Robotic Arm Part 2 را در صفحه Github ما پیدا کرده و بارگیری کنید.
کتابخانه های زیر را بارگیری و نصب کنید و در پوشه کتابخانه های Arduino IDE محلی خود ذخیره کنید:
- کتابخانه درایور Adafruit PWM سروو
- PS2 کتابخانه آردوینو
برای نصب کتابخانه ها Arduino IDE خود را باز کنید ، به برگه Sketch بروید ، Include Library -> Add. Zip Library را انتخاب کنید. کتابخانه های فوق را انتخاب کنید تا در IDE شما گنجانده شوند.
Arduino راهنمای مفیدی در مورد نحوه نصب کتابخانه ها بر روی Arduino IDE شما دارد. آنها را اینجا بررسی کنید!
مرحله 10: کد خود را اجرا کنید
Arduino IDE را باز کنید. در قسمت Files> Examples> PS2_Arduino_Library ، PS2X_Servo را انتخاب کنید
توجه: قبل از اینکه بتوانید بازوی Robotic خود را با کنترلر PS2 کنترل کنید مراحل زیر را بررسی کنید: کنترلر PS2 خود را روشن کنید. بررسی کنید چراغ LED حالت روشن شود. اگر اینطور نیست ، دکمه Mode را روی کنترلر خود فشار دهید. پس از انجام موارد بالا ، باید دکمه بازنشانی را روی Zuino M Uno خود فشار دهید تا تنظیمات کنترلر شما خوانده شود. برای حرکت دادن بازوی روباتیک خود باید L1 و Joystick را فشار دهید.
- جوی استیک چپ خم شدن بازو را به سمت بالا یا پایین کنترل می کند
- جوی استیک راست پنجه را باز یا بسته می کند و پنجه را به چپ یا راست می چرخاند.
مرحله 11: توضیح کد
استفاده از کتابخانه PS2X Arduino ساده است ، فقط نیاز به مقداردهی اولیه ، راه اندازی و سپس دستور خواندن دارد.
برای تنظیم اتصال PS2 Controller با Uno خود ، در زیر پین هایی را که باید در کد خود تعریف کنید آورده شده است:
/********************************************** ****************تنظیم پین متصل به کنترلر PS2:* - ستون 1e: اصلی* - ستون اصلی 2e: استف؟ *شماره های پین را با شماره هایی که استفاده می کنید جایگزین کنید *************************************** **********************##تعریف PS2_DAT 13 // 14#تعریف PS2_CMD 11 // 15#تعریف PS2_SEL 10 // 16#تعریف PS2_CLK 12 // 17
ما پین ها را با پین هایی جایگزین کرده ایم که از آنها برای اتصال به Uno استفاده می کنیم ، همانطور که در نمودار پین بالا مشخص شده است.
/********************************************** ***************** حالت های کنترل PS2 را انتخاب کنید:* - فشارها = خواندن آنالوگ دکمه های فشار* - غرش = غرش موتور*اظهارنظر 1 خط برای هر انتخاب حالت ** ************************************************* *
در اینجا ما حالت PS2 را برای فشارها و rumble به عنوان false تعریف کردیم. ما مواردی را که استفاده نمی کنیم توضیح دادیم.
ما فقط از فرمان Controller’s Joystick و L1 برای کنترل حرکت بازوی Robotic خود استفاده خواهیم کرد.
void loop () {/* برای دریافت مقادیر جدید و تنظیم مقادیر ارتعاشی ps2x.read_gamepad (موتور کوچک روشن/خاموش ، قدرت موتور بزرگتر از 0-255) در صورت فعال نکردن غرش ، باید Gamepad را بخوانید ، از ps2x.read_gamepad استفاده کنید ()؛ بدون مقدار شما باید حداقل یک بار در ثانیه*/if (خطا == 1) // اگر هیچ کنترلری بازگشتی پیدا نکرد ، این را فراخوانی کنید. else {// DualShock Controller ps2x.read_gamepad (غلط ، ارتعاش) ؛ // کنترل کننده را بخوانید و موتور بزرگ را تنظیم کنید تا با سرعت "ارتعاش" بچرخد اگر (ps2x. Button (PSB_START)) // تا زمانی که دکمه Serial.println ("شروع در حال انجام است") فشار داده شود TRUE خواهد بود ؛ if (ps2x. Button (PSB_SELECT)) Serial.println ("انتخاب در حال برگزاری است") ؛ ارتعاش = ps2x. آنالوگ (PSAB_CROSS) ؛ // این سرعت لرزش موتور بزرگ را بر اساس میزان فشار دادن دکمه آبی (X) در صورت (ps2x. Button (PSB_L1) || ps2x. Button (PSB_R1)) {// اگر هر یک TRUE RY_Value است چاپ می کند. = ps2x. آنالوگ (PSS_RY) ؛ RX_Value = ps2x. آنالوگ (PSS_RX) ؛ LY_Value = ps2x. آنالوگ (PSS_LY) ؛ LX_Value = ps2x. Analog (PSS_LX) ؛ Serial.print ("Stick Values:") ؛ Serial.print (RX_Value) ؛ Serial.print ("")؛ Serial.print (RY_Value) ؛ Serial.print ("")؛ Serial.print (LY_Value) ؛ Serial.print ("")؛ Serial.println (LX_Value) ؛
کد زیر جایی است که ما سروهای خود را که بازوی روباتیک ما را کنترل می کنند و در فراخوانی تابع زیر ps2x.button (PSB_L1) || ps2x.button (PSB_R1).
برای کنترل بازوی روباتیک خود باید دکمه L1 یا R1 را به همراه Joystick فشار دهید.
سرویس های چپ جوی استیک 2 و 3 برای قسمت بازو - به ترتیب خم شدن بالا و پایین بازو را کنترل می کنند ، در حالی که جوی استیک راست سرویس های 0 و 1 پنجه بازوی روباتیک را باز یا بسته می کند و به چپ یا راست می چرخد.
SERVO 0 ، 1 - پنجه SERVO 2 ، 3 - بازو
برای کنترل درجه زاویه بازوی روباتیک خود می توانید در مقادیر این بخش تغییراتی ایجاد کنید:
pulselen0 = map (RY_Value، 0، 127، SERVOMIN0، SERVOMAX0)؛ pulselen1 = map (RX_Value، 0، 127، SERVOMIN0، SERVOMAX0)؛ pulselen2 = map (LY_Value، 0، 127، SERVOMIN2، SERVOMAX2)؛ pulselen3 = map (LX_Value، 0، 255، SERVOMIN3، SERVOMAX3)؛
توصیه شده:
بازوی بازوی روباتیک: 3 مرحله (همراه با تصاویر)
بازوی بازوی Robotic: این گیربکس روباتیک ساخته شده با چاپگر سه بعدی را می توان با دو سرو ارزان (MG90 یا SG90) کنترل کرد. ما از سپر مغزی (+آردوینو) برای کنترل گیره و APP کنترل jjRobots برای جابجایی همه چیز از طریق WIFI از راه دور استفاده کرده ایم اما می توانید از هر
بازوی روباتیک با ماژول های زیو قسمت 3: 4 مرحله
بازوی روباتیک با ماژول های زیو قسمت 3: این پست وبلاگ بخشی از سری Zio Robotics است. مقدمه در وبلاگ قبلی ما ، ما قسمت 1 و 2 آموزش نحوه کنترل بازوی روباتیک با استفاده از ماژول های Zio را ارسال کردیم. قسمت 1 بیشتر بر کنترل خودکار پنجه بازوی روباتیک شما متمرکز شده است
کنترل بازوی روباتیک با ماژول های زیو قسمت 1: 8 مرحله
کنترل یک بازوی رباتیک با ماژول های زیو قسمت 1: این پست وبلاگ بخشی از سری Zio Robotics است. مقدمه در این آموزش ، ما پروژه ای را ایجاد می کنیم که در آن از ماژول های Zio برای کنترل بازوی روباتیک استفاده می کنیم. این پروژه به شما می آموزد که چگونه بازوی بازوی خود را باز و بسته کنید. این ن
بازوی روباتیک ROS MoveIt قسمت 2: کنترل کننده ربات: 6 مرحله
در بخش قبلی مقاله ما فایل های URDF و XACRO را برای بازوی رباتیک خود ایجاد کرده و RVIZ را برای کنترل ما راه اندازی کرده ایم بازوی روباتیک در محیط شبیه سازی شده. این بار ما آن را با rea انجام می دهیم
نحوه مونتاژ یک بازوی روبات چوبی قابل توجه (قسمت 3: بازوی روبات) - بر اساس میکرو: BITN: 8 مرحله
نحوه مونتاژ یک بازوی روبات چوبی قابل توجه (قسمت 3: ROBOT ARM) - بر اساس میکرو: BITN: مراحل بعدی نصب بر اساس تکمیل حالت جلوگیری از مانع است. فرآیند نصب در قسمت قبل مشابه مراحل نصب در حالت ردیابی خط است. سپس اجازه دهید نگاهی به شکل نهایی A