সুচিপত্র:

জিআরবিএল স্টেপার মোটরস আরডুইনো শিল্ড সহ মেকানাম ওমনি হুইলস রোবট: 4 টি ধাপ
জিআরবিএল স্টেপার মোটরস আরডুইনো শিল্ড সহ মেকানাম ওমনি হুইলস রোবট: 4 টি ধাপ

ভিডিও: জিআরবিএল স্টেপার মোটরস আরডুইনো শিল্ড সহ মেকানাম ওমনি হুইলস রোবট: 4 টি ধাপ

ভিডিও: জিআরবিএল স্টেপার মোটরস আরডুইনো শিল্ড সহ মেকানাম ওমনি হুইলস রোবট: 4 টি ধাপ
ভিডিও: Arduino । Arduino l293d motor driver shield useing system।How to use l293d motor driver shield 2024, নভেম্বর
Anonim
জিআরবিএল স্টেপার মোটরস আরডুইনো শিল্ড সহ মেকানাম ওমনি হুইলস রোবট
জিআরবিএল স্টেপার মোটরস আরডুইনো শিল্ড সহ মেকানাম ওমনি হুইলস রোবট
জিআরবিএল স্টেপার মোটরস আরডুইনো শিল্ড সহ মেকানাম ওমনি হুইলস রোবট
জিআরবিএল স্টেপার মোটরস আরডুইনো শিল্ড সহ মেকানাম ওমনি হুইলস রোবট
জিআরবিএল স্টেপার মোটরস আরডুইনো শিল্ড সহ মেকানাম ওমনি হুইলস রোবট
জিআরবিএল স্টেপার মোটরস আরডুইনো শিল্ড সহ মেকানাম ওমনি হুইলস রোবট

মেকানাম রোবট - একটি প্রজেক্ট যা আমি তৈরি করতে চেয়েছি যখন থেকে আমি দেজানের গ্রেড মেকাট্রনিক্স ব্লগে দেখেছি: howtomechatronics.com

দেজান সত্যিই হার্ডওয়্যার, থ্রিডি প্রিন্টিং, ইলেকট্রনিক্স, কোড এবং একটি অ্যান্ড্রয়েড অ্যাপ (এমআইটি এর অ্যাপ উদ্ভাবক) থেকে সমস্ত দিক জুড়ে একটি ভাল কাজ করেছে

এটি একটি দুর্দান্ত ওভারহোল প্রকল্প যা নির্মাতার সমস্ত দক্ষতা রিফ্রেশ করে।

প্রকল্পগুলিতে আমার কিছু পরিবর্তন ছিল

আমি তার ব্যবহৃত কাস্টম তৈরি PCB ব্যবহার করতে চাইনি, কিন্তু আমার বাড়িতে একটি পুরানো GRBL ieldাল ছিল।

আমি ব্লুটুথ ব্যবহার করতে চেয়েছিলাম

সুতরাং:

সরবরাহ

Arduino Uno + GRBL শিল্ড

স্টেপার মোটর

HC-06 BlueTooth মডিউল

12V লাইপো ব্যাটারি

ধাপ 1: হার্ডওয়্যার

হার্ডওয়্যার
হার্ডওয়্যার
হার্ডওয়্যার
হার্ডওয়্যার

চাকাগুলি মুদ্রিত এবং সেগুলি এখানে একত্রিত করা হয়েছে:

চেসিসের সাথে 4 টি স্টেপার মোটর সংযুক্ত (আমার ক্ষেত্রে একটি অব্যবহৃত ড্রয়ার উপরে নিচে)

রোবটের শীর্ষে ক্যাবলগুলি রুট করা হয়েছে।

ধাপ 2: ইলেকট্রনিক্স

ইলেকট্রনিক্স
ইলেকট্রনিক্স
ইলেকট্রনিক্স
ইলেকট্রনিক্স
ইলেকট্রনিক্স
ইলেকট্রনিক্স

আমি আমার HC-06 BT মডিউল ব্যবহার করেছি, সবচেয়ে কঠিন অংশটি ছিল Ste টি স্টেপার মোটরের সাথে কাজ করার জন্য জিআরবিএল ieldাল সেট করা, যেহেতু এর জন্য কোন ভাল গাইড নেই, স্টেপার মোটরকে নিয়ন্ত্রণ করার জন্য ieldালের "টুল" আউটপুট তৈরির জন্য, সংযুক্ত ছবিতে দেখা যায়, জাম্পার লাগানোর প্রয়োজন আছে। এছাড়াও "সক্ষম" জাম্পার লাগাতে হবে

ওয়্যারিং 4 স্টেপার এবং এটি।

আমি 12V ব্যাটারি থেকে শক্তি সরবরাহ করেছি - দুটি স্টেস - একটি আরডুইনো এবং একটি GRBl শিল্ডের জন্য

ধাপ 3: Arduino কোড

/* === Arduino Mecanum Wheels Robot === স্মার্টফোনের নিয়ন্ত্রণ ব্লুটুথের মাধ্যমে Dejan, www. HowToMechatronics.com লাইব্রেরি: RF24, www. HowToMechatronics.com AccelStepper by Mike McCauley: www. HowToMechatronics.com

*//* 2019-11-12 গিলাদ মেলার (https://www.keerbot.com - জিআরবিএল আরডুইনো মোটর শিল্ডের সাথে কাজ করার জন্য কোডটি সংশোধন করুন theালের স্টেপার মোটরগুলি (ধাপ/দিকনির্দেশ) হিসাবে ম্যাপ করা হয়েছে: 2/5 3 /6 4/7 12/13 A4988 ড্রাইভার 12V ব্যবহার করে

দেজানের কোড সফটওয়্যার সিরিয়াল ব্যবহার করে এবং আমার Arduino Uno- এর স্ট্যান্ডার্ড RX, TX পিন (0, 1) ব্যবহার করবে: Arduino- এ স্কেচ আপলোড করার সময় RX TX পিনগুলি পুনর্নির্মাণ করতে ভুলবেন না অথবা আপলোড ব্যর্থ হবে।

*/ #অন্তর্ভুক্ত

// স্টেপার মোটর এবং পিনগুলি সংজ্ঞায়িত করুন যা AccelStepper LeftBackWheel (1, 2, 5) ব্যবহার করবে; // (প্রকার: ড্রাইভার, STEP, DIR) - Stepper1 AccelStepper LeftFrontWheel (1, 3, 6); // Stepper2 AccelStepper RightBackWheel (1, 4, 7); // Stepper3 AccelStepper RightFrontWheel (1, 12, 13); // স্টেপার 4

int incomingByte = 0, c; // আগত সিরিয়াল ডেটার জন্য int wheelSpeed = 100;

অকার্যকর সেটআপ () {Serial.begin (9600); // সিরিয়াল পোর্ট খোলে, ডাটা রেট 9600 বিপিএস সেট করে // স্টেপারদের জন্য প্রাথমিক বীজের মান সেট করুন LeftFrontWheel.setMaxSpeed (600); LeftBackWheel.setMaxSpeed (600); RightFrontWheel.setMaxSpeed (600); RightBackWheel.setMaxSpeed (600);

}

void loop () {if (Serial.available ()> 0) {// ইনকামিং বাইট পড়ুন: incomingByte = Serial.read ();

c = ইনকামিংবাইট; সুইচ (গ) {কেস 71: Serial.println ("আমি ডান দিকে ঘোরানো পেয়েছি"); ডানদিকে ঘোরাও(); বিরতি; কেস 65: Serial.println ("আমি বাম Q ঘোরানো পেয়েছি"); rotateLeft (); বিরতি; কেস 1: Serial.println ("আমি BK/LFT পেয়েছি"); moveRightBackward (); বিরতি; কেস 2: Serial.println ("আমি BK পেয়েছি"); moveBackward (); বিরতি; কেস 3: Serial.println ("আমি BK/RT পেয়েছি"); moveRightBackward (); বিরতি; case 4: Serial.println ("আমি LEFT পেয়েছি"); moveSidewaysLeft ();

বিরতি; কেস 5: Serial.println ("আমি স্টপ পেয়েছি"); চলা বন্ধ কর(); বিরতি; কেস 6: Serial.println ("আমি RT পেয়েছি"); moveSidewaysRight (); বিরতি; কেস 7: Serial.println ("আমি FWD/LFT পেয়েছি"); moveLeftForward (); বিরতি; কেস 8: Serial.println ("আমি FWD পেয়েছি"); সামনে যাও(); বিরতি; কেস 9: সিরিয়াল.প্রিন্টলন ("আমি FWD/RT পেয়েছি"); moveRightForward (); বিরতি; ডিফল্ট: সিরিয়াল.প্রিন্ট ("কমান্ড নয়"); Serial.println (ইনকামিংবাইট, DEC); বিরতি; }} // moveBackward (); moveRobot ();

}

অকার্যকর moveRobot () {LeftBackWheel.runSpeed (); LeftFrontWheel.runSpeed (); RightFrontWheel.runSpeed (); RightBackWheel.runSpeed (); }

অকার্যকর moveForward () {LeftFrontWheel.setSpeed (wheelSpeed); LeftBackWheel.setSpeed (wheelSpeed); RightFrontWheel.setSpeed (wheelSpeed); RightBackWheel.setSpeed (wheelSpeed); } অকার্যকর moveBackward () {LeftFrontWheel.setSpeed (-wheelSpeed); LeftBackWheel.setSpeed (-wheelSpeed); RightFrontWheel.setSpeed (-wheelSpeed); RightBackWheel.setSpeed (-wheelSpeed); } অকার্যকর moveSidewaysRight () {LeftFrontWheel.setSpeed (wheelSpeed); LeftBackWheel.setSpeed (-wheelSpeed); RightFrontWheel.setSpeed (-wheelSpeed); RightBackWheel.setSpeed (wheelSpeed); } অকার্যকর moveSidewaysLeft () {LeftFrontWheel.setSpeed (-wheelSpeed); LeftBackWheel.setSpeed (wheelSpeed); RightFrontWheel.setSpeed (wheelSpeed); RightBackWheel.setSpeed (-wheelSpeed); } অকার্যকর rotateLeft () {LeftFrontWheel.setSpeed (-wheelSpeed); LeftBackWheel.setSpeed (-wheelSpeed); RightFrontWheel.setSpeed (wheelSpeed); RightBackWheel.setSpeed (wheelSpeed); } অকার্যকর rotateRight () {LeftFrontWheel.setSpeed (wheelSpeed); LeftBackWheel.setSpeed (wheelSpeed); RightFrontWheel.setSpeed (-wheelSpeed); RightBackWheel.setSpeed (-wheelSpeed); } অকার্যকর moveRightForward () {LeftFrontWheel.setSpeed (wheelSpeed); LeftBackWheel.setSpeed (0); RightFrontWheel.setSpeed (0); RightBackWheel.setSpeed (wheelSpeed); } অকার্যকর moveRightBackward () {LeftFrontWheel.setSpeed (0); LeftBackWheel.setSpeed (-wheelSpeed); RightFrontWheel.setSpeed (-wheelSpeed); RightBackWheel.setSpeed (0); } অকার্যকর moveLeftForward () {LeftFrontWheel.setSpeed (0); LeftBackWheel.setSpeed (wheelSpeed); RightFrontWheel.setSpeed (wheelSpeed); RightBackWheel.setSpeed (0); } অকার্যকর moveLeftBackward () {LeftFrontWheel.setSpeed (-wheelSpeed); LeftBackWheel.setSpeed (0); RightFrontWheel.setSpeed (0); RightBackWheel.setSpeed (-wheelSpeed); } অকার্যকর stopMoving () {LeftFrontWheel.setSpeed (0); LeftBackWheel.setSpeed (0); RightFrontWheel.setSpeed (0); RightBackWheel.setSpeed (0); }

ধাপ 4: Appinventor

বিভিন্ন এবং সহজ কার্যকারিতা সহ একটি নতুন appinventor অ্যাপ্লিকেশন (কোন রেকর্ডিং নেই)

দয়া করে মেসেজ পাঠান এবং আমি আপনাকে পাঠাই - আপলোডগুলি ব্যর্থ হয়।

যত্ন নিবেন.

প্রস্তাবিত: