← Back to Manuals

আরডুইনো দিয়ে Ball Caster নিয়ন্ত্রণ: একটি পূর্ণাঙ্গ গাইড

Published: 23 Jun, 2026

# আরডুইনো দিয়ে Ball Caster নিয়ন্ত্রণ: একটি পূর্ণাঙ্গ গাইড

## পরিচিতি

Ball Caster হলো একটি সাধারণ কিন্তু কার্যকরী রোবোটিক উপাদান যা যেকোনো রোবট বা স্বয়ংক্রিয় যানকে মসৃণভাবে চলাচলে সহায়তা করে। এটি একটি গোলাকার বল ধারণ করে যা চারদিকে ঘুরতে পারে, ফলে রোবটটি সহজেই যেকোনো দিকে ঘুরতে বা স্লাইড করতে পারে। এই গাইডে আমরা দেখব কিভাবে একটি Arduino বোর্ডের সাথে Ball Caster ইন্টারফেস করতে হয় এবং এর কার্যকারিতা বুঝতে হয়।

## প্রয়োজনীয় পার্টস

* Arduino Uno (বা অন্য কোনো সামঞ্জস্যপূর্ণ Arduino বোর্ড)
* Ball Caster (সাধারণত ১ বা একাধিক)
* Jumper Wires (পুরুষ-পুরুষ, পুরুষ-মহিলা)
* USB Cable (Arduino প্রোগ্রাম করার জন্য)
* Breadboard (ঐচ্ছিক, কানেকশন সহজ করার জন্য)

## সার্কিট কানেকশন

Ball Caster সাধারণত প্যাসিভ ডিভাইস, যার মানে এর নিজস্ব কোনো পাওয়ার বা সিগন্যাল পিন থাকে না। এটি একটি মেকানিক্যাল অংশ যা রোবটের ফ্রেমে লাগানো হয় এবং রোবটের চাকা হিসেবে কাজ করে। এটি সরাসরি Arduino এর সাথে ইলেকট্রিক্যালি কানেক্টেড হয় না, বরং রোবটের মোটরের গতিবিধি এবং দিক নিয়ন্ত্রণ করে।

তবে, যদি আপনি এমন Ball Caster ব্যবহার করেন যাতে একটি এনকোডার যুক্ত থাকে, তবে সেই এনকোডারের সিগন্যাল পিন Arduino এর সাথে কানেক্ট করতে হবে। এই গাইডে, আমরা একটি সাধারণ Ball Caster ব্যবহার করছি যা কোনো ইলেকট্রনিক্স সহ আসে না। এটি রোবটের কাঠামোর সাথে স্ক্রু দিয়ে লাগানো হয়।

**সাধারণ Ball Caster লাগানোর পদ্ধতি:**

1. আপনার রোবট প্ল্যাটফর্মের নিচের দিকে Ball Caster-এর মাউন্টিং হোলগুলো চিহ্নিত করুন।
2. সঠিক স্ক্রু ব্যবহার করে Ball Caster-টিকে প্ল্যাটফর্মের সাথে শক্তভাবে লাগান। নিশ্চিত করুন যেন বলটি অবাধে ঘুরতে পারে।
3. সাধারণত, রোবটে সামনের দিকে বা পিছনে দুইটি Ball Caster এবং সামনে বা পিছনে দুটি মোটর চালিত চাকা ব্যবহার করা হয়, যা রোবটকে পূর্ণ নিয়ন্ত্রণ দেয়।

**যদি Ball Caster-এ এনকোডার থাকে:**

যদি আপনার Ball Caster-এ একটি এনকোডার থাকে যা এর ঘূর্ণন পরিমাপ করে, তাহলে কানেকশনটি হবে এনকোডারের ডেটা পিনের উপর নির্ভরশীল। এনকোডারের ডেটাশিট দেখে নিন:

* **VCC:** Arduino-র 5V পিনে সংযুক্ত করুন।
* **GND:** Arduino-র GND পিনে সংযুক্ত করুন।
* **DATA/SIGNAL:** Arduino-র একটি ডিজিটাল পিনে (যেমন পিন 2) সংযুক্ত করুন।

## কিভাবে কাজ করে

Ball Caster একটি বলের উপর ভিত্তি করে কাজ করে যা একটি সকেটের মধ্যে স্থাপন করা হয়। যখন রোবটটি সামনে, পিছনে বা পাশে সরে যায়, তখন বলটি ঘোরার মাধ্যমে ঘর্ষণ কমায় এবং রোবটটিকে মসৃণভাবে চলতে সাহায্য করে। এটি মূলত একটি প্যাসিভ সাপোর্ট হুইল হিসেবে কাজ করে।

যদি Ball Caster-এর সাথে এনকোডার যুক্ত থাকে, তবে এটি বলের ঘূর্ণন গতিকে বৈদ্যুতিক সিগন্যালে রূপান্তরিত করে। Arduino এই সিগন্যালগুলো পড়ে এবং রোবটের মোটরের গতি এবং দূরত্ব পরিমাপ করতে ব্যবহার করে। উদাহরণস্বরূপ, এনকোডার থেকে প্রাপ্ত পালস (pulses) গণনা করে রোবট কত দূরত্ব অতিক্রম করেছে তা নির্ণয় করা যেতে পারে।

## Arduino কোড (যদি এনকোডার সহ Ball Caster ব্যবহার করা হয়)

এই কোডটি একটি সাধারণ এনকোডার থেকে ডিজিটাল পালস পড়ার উদাহরণ। এটি পিন 2 কে ইনপুট হিসেবে ব্যবহার করবে।

কানেকশন ও সার্কিট ডায়াগ্রাম (Connection Diagram)

Circuit Diagram

প্রোগ্রাম কোড (Source Code)

/*
  Ball Caster Encoder Reading Example
  এই কোডটি একটি Ball Caster-এর সাথে সংযুক্ত এনকোডার থেকে ডিজিটাল পালস গণনা করে।
  সাধারণত, এনকোডারের একটি সিগন্যাল পিন Arduino-র একটি ডিজিটাল পিনে সংযুক্ত থাকে।
  আমরা এখানে পিন 2 ব্যবহার করছি।
*/

// এনকোডারের সিগন্যাল পিনকে একটি ভ্যারিয়েবলে সংরক্ষণ করা হচ্ছে
const int encoderPin = 2;

// মোটরের গতি পরিমাপের জন্য ভ্যারিয়েবল
volatile long encoderValue = 0; // volatile কারণ এটি interrupt দ্বারা পরিবর্তিত হবে

// একটি সহজ পালস গণনা করার জন্য ফাংশন (ISR - Interrupt Service Routine)
void readEncoder() {
  encoderValue++; // প্রতিবার পালস পেলে মান ১ বাড়ানো হবে
}

void setup() {
  // সিরিয়াল মনিটর শুরু করা হচ্ছে ডেটা দেখার জন্য
  Serial.begin(9600);
  Serial.println("Ball Caster Encoder Test");

  // এনকোডার পিনকে ইনপুট হিসেবে সেট করা হচ্ছে
  pinMode(encoderPin, INPUT);

  // একটি ইন্টারাপ্ট অ্যাটাচ করা হচ্ছে। যখন পিন 2-তে রাইজিং এজ (LOW to HIGH) সনাক্ত হবে, তখন readEncoder() ফাংশনটি কল হবে।
  attachInterrupt(digitalPinToInterrupt(encoderPin), readEncoder, RISING);
}

void loop() {
  // প্রতি সেকেন্ডে এনকোডার ভ্যালু প্রিন্ট করা হচ্ছে
  delay(1000); // ১ সেকেন্ড অপেক্ষা করুন

  // ইন্টারাপ্ট ডিসেবল করা হচ্ছে যাতে ডেটা পড়ার সময় ভ্যালু পরিবর্তিত না হয়
  noInterrupts();
  long currentEncoderValue = encoderValue;
  interrupts(); // ইন্টারাপ্ট আবার এনাবল করা হচ্ছে

  // গণনা করা মান সিরিয়াল মনিটরে প্রিন্ট করা হচ্ছে
  Serial.print("Encoder Pulses: ");
  Serial.println(currentEncoderValue);

  // আপনি চাইলে এখানে বর্তমান মানটিকে দূরত্ব বা গতিতে রূপান্তর করতে পারেন
  // উদাহরণস্বরূপ: float distance = currentEncoderValue * (wheelCircumference / pulsesPerRevolution);
}

Related Kit / Part

Ball Caster Ball Caster
৳70

..., ... থেকে

...

এইমাত্র অর্ডার করেছেন • ...