সুচিপত্র:

জিও মডিউল সহ রোবোটিক আর্ম পার্ট 2:11 ধাপ
জিও মডিউল সহ রোবোটিক আর্ম পার্ট 2:11 ধাপ

ভিডিও: জিও মডিউল সহ রোবোটিক আর্ম পার্ট 2:11 ধাপ

ভিডিও: জিও মডিউল সহ রোবোটিক আর্ম পার্ট 2:11 ধাপ
ভিডিও: নতুন Google DeepMind PLATO AI কম্পিউটার ভিশন সহ পদার্থবিদ্যা শিখছে | Blackrock নিউরো টেক রোবট অস্ত্র 2024, জুলাই
Anonim
জিও মডিউল সহ রোবোটিক আর্ম পার্ট 2
জিও মডিউল সহ রোবোটিক আর্ম পার্ট 2

আজকের টিউটোরিয়ালে, আমরা রোবটিক বাহু নিয়ন্ত্রণ করতে সমস্ত 4 টি সার্ভস এবং একটি PS2 ওয়্যারলেস কন্ট্রোলার ব্যবহার করব।

এই ব্লগ পোস্টটি জিও রোবটিক্স সিরিজের অংশ।

ভূমিকা

আমাদের আগের ব্লগে, আমরা কিভাবে জিও মডিউল ব্যবহার করে একটি রোবোটিক আর্ম নিয়ন্ত্রণ করতে পার্ট 1 টি টিউটোরিয়াল পোস্ট করেছি। পার্ট 1 বেশিরভাগই স্বয়ংক্রিয়ভাবে আপনার রোবোটিক আর্মের নখ খোলার এবং বন্ধ করার নিয়ন্ত্রণে মনোনিবেশ করেছে।

আজকের টিউটোরিয়ালে, আমরা রোবোটিক আর্মকে নিয়ন্ত্রণ করার জন্য একটি PS2 ওয়্যারলেস কন্ট্রোলার অন্তর্ভুক্ত করে এটিকে একটু বাড়িয়ে দেব। এই প্রকল্পের জন্য, আমরা 4 টি সার্ভিস ব্যবহার করব।

ধাপ 1: প্রকল্প ওভারভিউ

কাঠিন্য মাত্রা:

জিও পদাওয়ান

সহায়ক সম্পদ:

জিও ডেভেলপমেন্ট বোর্ডগুলি কীভাবে ইনস্টল করবেন সে সম্পর্কে আপনার প্রাথমিক ধারণা থাকা উচিত। এই টিউটোরিয়ালে, আমরা ধরে নিচ্ছি যে আপনার ডেভেলপমেন্ট বোর্ড ইতিমধ্যেই কনফিগার করা আছে এবং সেট আপ করার জন্য প্রস্তুত। আপনি যদি এখনও আপনার বোর্ড কনফিগার না করে থাকেন তাহলে শুরু করতে আমাদের জিও কিউইক স্টার্ট গাইড টিউটোরিয়ালটি দেখুন:

Zio Zuino M UNO Qwiic Start Guide

ধাপ 2: স্কিম্যাটিক্স

স্কিম্যাটিক্স
স্কিম্যাটিক্স

এখানে রোবোটিক আর্ম পার্ট 2 প্রজেক্টের ওয়্যারিং স্কিম্যাটিক্সের পাশাপাশি আপনার কোডিং অংশের জন্য বোঝার জন্য প্রয়োজনীয় PS2 কন্ট্রোলার ডায়াগ্রাম।

ধাপ 3: PS2 কন্ট্রোলার ডায়াগ্রাম

PS2 কন্ট্রোলার ডায়াগ্রাম
PS2 কন্ট্রোলার ডায়াগ্রাম

ধাপ 4: জিও মডিউল সংযোগ সেট আপ

নীচে আমাদের জিও মডিউলগুলির সংযোগ স্থাপন করা হবে রোবোটিক আর্মের সাথে। সমস্ত মডিউল একসাথে সংযুক্ত করা বেশ সহজ এবং সেট আপ করতে 10 মিনিটের বেশি সময় লাগবে না।

ধাপ 5: রোবোটিক আর্ম সার্ভোকে জিও 16 সার্ভো কন্ট্রোলারের সাথে সংযুক্ত করুন

রোবটিক আর্ম সার্ভোকে জিও 16 সার্ভো কন্ট্রোলারের সাথে সংযুক্ত করুন
রোবটিক আর্ম সার্ভোকে জিও 16 সার্ভো কন্ট্রোলারের সাথে সংযুক্ত করুন

ধাপ 6: আপনার 16 সার্ভোকে ডিসি/ডিসি বুস্টারের সাথে সংযুক্ত করুন এবং 6.0V এ সেট করুন।

আপনার 16 সার্ভোকে ডিসি/ডিসি বুস্টারে সংযুক্ত করুন এবং 6.0V এ সেট করুন।
আপনার 16 সার্ভোকে ডিসি/ডিসি বুস্টারে সংযুক্ত করুন এবং 6.0V এ সেট করুন।

আমরা একটি ডিসি/ডিসি বুস্টার ব্যবহার করে ব্যাটারি সাপ্লাই ভোল্টেজ 6.0 তে উন্নীত এবং সামঞ্জস্য করতে।

6.0 না পাওয়া পর্যন্ত ভোল্টেজ সামঞ্জস্য করতে ডিসি বুস্টারে পোটেন্টিওমিটার ব্যবহার করুন। ডিসপ্লে 6.0 না দেখানো পর্যন্ত ইন/আউট বোতাম টিপুন। ভোল্টেজ সামঞ্জস্য করার জন্য আপনাকে প্রথমে আপনার ডিসি/ডিসি বুস্টারে পাওয়ার (3.7V ব্যাটারি) সরবরাহ করতে হবে।

ধাপ 7: Zuino M Uno কে Zio 16 Servo Controller এর সাথে সংযুক্ত করুন

Zuino M Uno কে Zio 16 Servo Controller এর সাথে সংযুক্ত করুন
Zuino M Uno কে Zio 16 Servo Controller এর সাথে সংযুক্ত করুন

Qwiic Zuino M Uno কে Qwiic ক্যাবল দিয়ে Zio Servo কন্ট্রোলারের সাথে সংযুক্ত করে।

ধাপ 8: ইউএনওকে PS2 রিসিভারের সাথে সংযুক্ত করা

ইউএনওকে PS2 রিসিভারের সাথে সংযুক্ত করা হচ্ছে
ইউএনওকে PS2 রিসিভারের সাথে সংযুক্ত করা হচ্ছে

এখানে সংযোগগুলির একটি পিন ডায়াগ্রাম। এই অংশের জন্য আপনার 5 জন পুরুষ থেকে মহিলা জাম্পার তারের প্রয়োজন।

ধাপ 9: রোবোটিক আর্মের জন্য কোড

আমরা আমাদের রোবোটিক আর্মের সাথে কাজ করার জন্য আমাদের PS2 ওয়্যারলেস কন্ট্রোলারকে কোড করতে PS2 Arduino লাইব্রেরি ব্যবহার করব। আপনি আমাদের Github পৃষ্ঠায় এই রোবোটিক আর্ম পার্ট 2 প্রকল্পের সোর্স কোড খুঁজে পেতে এবং ডাউনলোড করতে পারেন।

নিম্নলিখিত লাইব্রেরিগুলি ডাউনলোড এবং ইনস্টল করুন এবং আপনার স্থানীয় Arduino IDE লাইব্রেরি ফোল্ডারে সংরক্ষণ করুন:

  • Adafruit PWM Servo Driver Library
  • PS2 Arduino লাইব্রেরি

লাইব্রেরিগুলি ইনস্টল করতে আপনার Arduino IDE খুলুন, স্কেচ ট্যাবে যান, লাইব্রেরি অন্তর্ভুক্ত করুন -> Add. Zip লাইব্রেরি নির্বাচন করুন। আপনার IDE তে অন্তর্ভুক্ত করার জন্য উপরের লাইব্রেরিগুলি নির্বাচন করুন।

Arduino আপনার Arduino IDE তে লাইব্রেরি কিভাবে ইনস্টল করবেন তার একটি সহজ নির্দেশিকা রয়েছে। তাদের এখানে দেখুন!

ধাপ 10: আপনার কোড চালান

আপনার কোড চালান
আপনার কোড চালান

Arduino IDE খুলুন। ফাইল> উদাহরণ> PS2_Arduino_Library এর অধীনে, PS2X_Servo নির্বাচন করুন

দ্রষ্টব্য: PS2 কন্ট্রোলারের সাহায্যে আপনার রোবোটিক বাহু নিয়ন্ত্রণ করার আগে নিচের ধাপগুলো পরীক্ষা করুন: আপনার PS2 কন্ট্রোলার চালু করুন। মোড LED জ্বলছে কিনা তা পরীক্ষা করুন। যদি তা না হয়, আপনার নিয়ামক মোড বোতাম টিপুন। উপরের কাজগুলো করার পরে, আপনার কন্ট্রোলার সেটিংস পড়ার জন্য আপনাকে আপনার Zuino M Uno তে রিসেট বাটন টিপতে হবে। আপনার রোবটিক আর্মটি সরানোর জন্য আপনাকে L1 এবং জয়স্টিক টিপতে হবে।

  • বাম জয়স্টিক আর্মের নমনকে উপরের দিকে বা নিচের দিকে নিয়ন্ত্রণ করে
  • ডান জয়স্টিক নখকে খোলার বা বন্ধ করার এবং নখকে বাম বা ডানদিকে ঘোরানোর জন্য নিয়ন্ত্রণ করে।

ধাপ 11: কোড ব্যাখ্যা

PS2X Arduino লাইব্রেরির ব্যবহার সহজ, শুধুমাত্র একটি প্রারম্ভিকতা, একটি সেটআপ, এবং তারপর একটি রিড কমান্ড প্রয়োজন।

আপনার ইউএনও এর সাথে আপনার পিএস 2 কন্ট্রোলারের সংযোগ স্থাপন করতে, আপনার কোডে আপনাকে যে পিনগুলি নির্ধারণ করতে হবে তা নীচে রয়েছে:

/***************************************************** ****************সেট পিন PS2 নিয়ামক সংযুক্ত:* - 1e কলাম: মূল* - 2e colmun: Stef? *আপনি যেগুলি ব্যবহার করেন তার দ্বারা পিন নম্বর প্রতিস্থাপন করুন ********************************************** ************************/#PS2_DAT 13 // 14 সংজ্ঞায়িত করুন PS2_CMD 11 // 15#PS2_SEL 10 // 16#PS2_CLK 12 সংজ্ঞায়িত করুন // 17

উপরের পিন ডায়াগ্রামে বর্ণিত হিসাবে আমরা আমাদের ইউনোর সাথে সংযোগ করতে যে পিনগুলি ব্যবহার করি সেগুলি দিয়ে আমরা পিনগুলি প্রতিস্থাপন করেছি।

/***************************************************** **************** PS2 নিয়ামক নির্বাচন পদ্ধতি:* - চাপ = পুশ -বাটন এর এনালগ পড়া ****************************************************** ************///#চাপ সংজ্ঞায়িত করুন সত্যকে সংজ্ঞায়িত করুন মিথ্যাকে সংজ্ঞায়িত করুন

এখানে আমরা চাপের জন্য PS2 মোড সংজ্ঞায়িত করেছি এবং গুজবকে মিথ্যা বলেছি। আমরা যাদের ব্যবহার করি না তাদের মন্তব্য করেছি।

আমরা শুধুমাত্র আমাদের রোবোটিক আর্মের গতিবিধি নিয়ন্ত্রণ করতে কন্ট্রোলারের জয়স্টিক কমান্ড এবং L1 ব্যবহার করব।

অকার্যকর লুপ () {/* আপনাকে নতুন মান পেতে এবং কম্পন মান ps2x.read_gamepad (ছোট মোটর চালু/বন্ধ, 0-255 থেকে বড় মোটর শক্তি) সেট করতে গেমপ্যাড পড়তে হবে (); কোন মান ছাড়াই আপনাকে এটি অন্তত একবার সেকেন্ডে কল করতে হবে অন্য {// ডুয়ালশক কন্ট্রোলার ps2x.read_gamepad (মিথ্যা, কম্পন); // কন্ট্রোলার পড়ুন এবং 'ভাইব্রেট' গতিতে স্পিন করার জন্য বড় মোটর সেট করুন (ps2x. Button (PSB_START)) // যতক্ষণ পর্যন্ত বোতাম টিপলে সিরিয়াল.প্রিন্টলন ("স্টার্ট হোল্ড হচ্ছে") সত্য হবে; যদি (ps2x. Button (PSB_SELECT)) Serial.println ("নির্বাচন অনুষ্ঠিত হচ্ছে"); কম্পন = ps2x. অ্যানালগ (PSAB_CROSS); // এটি নীল (X) বোতামটি কতটা চাপলে তার উপর ভিত্তি করে বড় মোটর কম্পনের গতি সেট করবে (ps2x. Button (PSB_L1) || = ps2x. অ্যানালগ (PSS_RY); RX_Value = ps2x. Analog (PSS_RX); LY_Value = ps2x. Analog (PSS_LY); LX_Value = ps2x. Analog (PSS_LX); Serial.print ("Stick Values:"); সিরিয়াল.প্রিন্ট (RX_Value); সিরিয়াল.প্রিন্ট (""); সিরিয়াল.প্রিন্ট (RY_Value); সিরিয়াল.প্রিন্ট (""); সিরিয়াল.প্রিন্ট (LY_Value); সিরিয়াল.প্রিন্ট (""); Serial.println (LX_Value);

নীচের কোডটি হল যেখানে আমরা আমাদের সার্ভোসগুলিকে কোড করি যা আমাদের রোবোটিক বাহু নিয়ন্ত্রণ করে যা আমরা ps2x.button (PSB_L1) এর অধীনে ফাংশন কলটিতে অন্তর্ভুক্ত করি || ps2x.button (PSB_R1)।

আপনার রোবটিক আর্ম নিয়ন্ত্রণ করতে আপনাকে জয়স্টিকের সাথে L1 বা R1 বোতাম টিপতে হবে।

বাহু অংশের জন্য বাম জয়স্টিক কন্ট্রোল সার্ভিস 2 এবং 3 - যথাক্রমে বাহুর উপরে এবং নিচে বাঁক নিয়ন্ত্রণ করে, যখন ডান জয়স্টিক রোবটিক আর্মের নখ 0 এবং 1 নিয়ন্ত্রণ করে খোলা বা বন্ধ করতে এবং বাম বা ডানদিকে ঘোরানোর জন্য।

SERVO 0, 1 - নখ SERVO 2, 3 - আর্ম

আপনার রোবটিক আর্ম এঙ্গেলের ডিগ্রী নিয়ন্ত্রণ করতে আপনি এই বিভাগে মান পরিবর্তন করতে পারেন:

pulselen0 = মানচিত্র (RY_Value, 0, 127, SERVOMIN0, SERVOMAX0); pulselen1 = মানচিত্র (RX_Value, 0, 127, SERVOMIN0, SERVOMAX0); pulselen2 = মানচিত্র (LY_Value, 0, 127, SERVOMIN2, SERVOMAX2); pulselen3 = মানচিত্র (LX_Value, 0, 255, SERVOMIN3, SERVOMAX3);

প্রস্তাবিত: