Arduino Robotics Projects (Arduino দিয়ে রোবোটিক্স প্রজেক্ট)

Computer Programming - আরডুইনো (Arduino)
326
326

Arduino একটি অত্যন্ত জনপ্রিয় প্ল্যাটফর্ম রোবোটিক্স প্রকল্প তৈরি করার জন্য। এর সহজ প্রোগ্রামিং ভাষা এবং বিস্তৃত কমিউনিটি সাপোর্টের কারণে রোবোটিক্স শিক্ষার জন্য এটি আদর্শ। Arduino-র সাথে বিভিন্ন ধরনের রোবোটিক্স প্রকল্প তৈরি করা যায়, যা ব্যবহারকারীদের ইলেকট্রনিক্স, মেকানিক্স, এবং প্রোগ্রামিং দক্ষতা বাড়াতে সহায়তা করে।

জনপ্রিয় Arduino রোবোটিক্স প্রকল্পের উদাহরণ

1. লাইন ফলোয়ার রোবট

একটি লাইন ফলোয়ার রোবট হলো এমন একটি রোবট যা সাদা এবং কালো লাইনের মধ্যে চলাচল করে। এটি ইনফ্রারেড সেন্সর ব্যবহার করে।

উপাদান:

  • Arduino বোর্ড
  • IR সেন্সর
  • DC মোটর
  • রোবট চ্যাসিস এবং চাকা

কোডের উদাহরণ:

#define LEFT_SENSOR A0
#define RIGHT_SENSOR A1
#define LEFT_MOTOR 9
#define RIGHT_MOTOR 10

void setup() {
  pinMode(LEFT_MOTOR, OUTPUT);
  pinMode(RIGHT_MOTOR, OUTPUT);
}

void loop() {
  int leftValue = analogRead(LEFT_SENSOR);
  int rightValue = analogRead(RIGHT_SENSOR);

  if (leftValue < 500 && rightValue < 500) {
    // move forward
    digitalWrite(LEFT_MOTOR, HIGH);
    digitalWrite(RIGHT_MOTOR, HIGH);
  } else if (leftValue > 500) {
    // turn right
    digitalWrite(LEFT_MOTOR, HIGH);
    digitalWrite(RIGHT_MOTOR, LOW);
  } else if (rightValue > 500) {
    // turn left
    digitalWrite(LEFT_MOTOR, LOW);
    digitalWrite(RIGHT_MOTOR, HIGH);
  }
}

2. রিমোট কন্ট্রোল রোবট

একটি রিমোট কন্ট্রোল রোবট হলো এমন একটি রোবট যা রিমোটের মাধ্যমে নিয়ন্ত্রণ করা যায়। এটি RF বা Bluetooth প্রযুক্তি ব্যবহার করে।

উপাদান:

  • Arduino বোর্ড
  • ব্লুটুথ অথবা RF মডিউল
  • DC মোটর
  • রোবট চ্যাসিস এবং চাকা

কোডের উদাহরণ:

#include <AFMotor.h>

AF_DCMotor motor1(1); // motor connected to port 1
AF_DCMotor motor2(2); // motor connected to port 2

void setup() {
  Serial.begin(9600); // Serial communication for Bluetooth
}

void loop() {
  if (Serial.available()) {
    char command = Serial.read();
    if (command == 'F') {
      motor1.setSpeed(200);
      motor1.run(FORWARD);
      motor2.setSpeed(200);
      motor2.run(FORWARD);
    } else if (command == 'B') {
      motor1.setSpeed(200);
      motor1.run(BACKWARD);
      motor2.setSpeed(200);
      motor2.run(BACKWARD);
    } else if (command == 'S') {
      motor1.run(RELEASE);
      motor2.run(RELEASE);
    }
  }
}

3. অটোনোমাস রোবট

অটোনোমাস রোবট স্বয়ংক্রিয়ভাবে কাজ করতে সক্ষম। এটি বিভিন্ন সেন্সর যেমন আলট্রাসনিক সেন্সর এবং লাইন ফলোয়ার সেন্সর ব্যবহার করে।

উপাদান:

  • Arduino বোর্ড
  • আলট্রাসনিক সেন্সর (HC-SR04)
  • DC মোটর
  • চ্যাসিস এবং চাকা

কোডের উদাহরণ:

#include <NewPing.h>

#define TRIG_PIN 12
#define ECHO_PIN 11
#define MAX_DISTANCE 200
NewPing sonar(TRIG_PIN, ECHO_PIN, MAX_DISTANCE);

void setup() {
  Serial.begin(9600);
}

void loop() {
  delay(50); // Wait 50ms between pings
  unsigned int distance = sonar.ping_cm(); // Read distance in cm
  Serial.print("Distance: ");
  Serial.println(distance);
  if (distance < 10) {
    // obstacle detected, take action
  }
}

রোবোটিক্স প্রকল্পের টিপস

  • কনফিগারেশন: নিশ্চিত করুন যে সমস্ত সেন্সর এবং মোটর সঠিকভাবে সংযুক্ত এবং কনফিগার করা হয়েছে।
  • ডিবাগিং: সিরিয়াল মনিটর ব্যবহার করে সেন্সরের ডেটা পরীক্ষা করুন এবং প্রোগ্রাম ডিবাগ করুন।
  • শেখার জন্য প্রকল্প: নতুন কৌশল শেখার জন্য ছোট ছোট প্রকল্প শুরু করুন এবং ধীরে ধীরে জটিল প্রকল্পে উন্নীত হন।

Arduino রোবোটিক্স প্রকল্পের ভবিষ্যত

Arduino রোবোটিক্স প্রকল্পগুলি দ্রুত জনপ্রিয়তা পাচ্ছে, কারণ এটি শিক্ষার্থীদের এবং উত্সাহী প্রযুক্তিবিদদের জন্য সৃজনশীল প্রকল্প তৈরি করতে সহায়তা করে। IoT এবং AI এর সাথে সংযুক্ত হয়ে রোবোটিক্স ভবিষ্যতে আরও উন্নত হবে।


Arduino-র সাথে রোবোটিক্স প্রকল্প তৈরি করে আপনি প্রযুক্তির বিভিন্ন দিক শিখতে পারেন এবং নিজের হাতে প্রকল্পের কার্যকরীতা পরীক্ষা করতে পারেন। এটি নতুন প্রযুক্তি এবং দক্ষতা অর্জনের একটি উত্তেজনাপূর্ণ উপায়।

common.content_added_by

Line Follower Robot তৈরি করা

251
251

Line Follower Robot তৈরি করা


Line Follower Robot একটি স্বয়ংক্রিয় রোবট যা একটি নির্দিষ্ট লাইনে চলার জন্য ডিজাইন করা হয়। এটি সাধারণত একটি কালো লাইনের উপর চলতে পারে এবং লাইন থেকে বিচ্যুত হলে পুনরায় লাইনে ফিরে আসে। এই প্রকল্পটি ইলেকট্রনিক্স এবং রোবোটিক্স শেখার জন্য একটি জনপ্রিয় উদাহরণ।

প্রয়োজনীয় উপাদান

  • Arduino বোর্ড (যেমন Arduino Uno)
  • IR সেন্সর (লাইন ফলো করতে)
  • DC মোটর (গতি তৈরি করার জন্য)
  • মোটর ড্রাইভার (যেমন L298N)
  • চ্যাসিস (রোবটের কাঠামোর জন্য)
  • চাকা (মোটর এবং চ্যাসিসের সাথে সংযুক্ত)
  • ব্যাটারি বা পাওয়ার সাপ্লাই
  • Jumper wires
  • Breadboard (ঐচ্ছিক)

সংযোগ ব্যবস্থা

  1. IR সেন্সর: সেন্সরগুলোকে Arduino এর ডিজিটাল পিনে সংযুক্ত করতে হবে। সাধারণত ২ বা ৩ পিন ব্যবহার করা হয়।
  2. DC মোটর: মোটরগুলোকে মোটর ড্রাইভারের সাথে সংযুক্ত করতে হবে।
  3. Motor Driver: মোটর ড্রাইভারটি Arduino বোর্ডের PWM পিনের সাথে সংযুক্ত করতে হবে।
  4. Power Supply: ব্যাটারি বা পাওয়ার সাপ্লাই ড্রাইভার এবং Arduino বোর্ডে সংযুক্ত করতে হবে।

সংযোগের উদাহরণ

IR Sensor PinArduino Pin
VCC5V
GNDGND
Output2
Output3
Motor Driver PinArduino Pin
IN14
IN25
IN36
IN47

কোড লেখা

নিচে একটি সাধারণ কোড উদাহরণ দেওয়া হলো যা লাইন ফলোয়ার রোবটের কার্যকারিতা নির্ধারণ করে:

#define LEFT_SENSOR 2
#define RIGHT_SENSOR 3
#define MOTOR_A_FORWARD 4
#define MOTOR_A_BACK 5
#define MOTOR_B_FORWARD 6
#define MOTOR_B_BACK 7

void setup() {
  pinMode(LEFT_SENSOR, INPUT);
  pinMode(RIGHT_SENSOR, INPUT);
  pinMode(MOTOR_A_FORWARD, OUTPUT);
  pinMode(MOTOR_A_BACK, OUTPUT);
  pinMode(MOTOR_B_FORWARD, OUTPUT);
  pinMode(MOTOR_B_BACK, OUTPUT);
}

void loop() {
  int leftState = digitalRead(LEFT_SENSOR);
  int rightState = digitalRead(RIGHT_SENSOR);

  if (leftState == HIGH && rightState == HIGH) {
    // Move forward
    digitalWrite(MOTOR_A_FORWARD, HIGH);
    digitalWrite(MOTOR_B_FORWARD, HIGH);
    digitalWrite(MOTOR_A_BACK, LOW);
    digitalWrite(MOTOR_B_BACK, LOW);
  } else if (leftState == LOW && rightState == HIGH) {
    // Turn right
    digitalWrite(MOTOR_A_FORWARD, HIGH);
    digitalWrite(MOTOR_B_FORWARD, LOW);
    digitalWrite(MOTOR_A_BACK, LOW);
    digitalWrite(MOTOR_B_BACK, LOW);
  } else if (leftState == HIGH && rightState == LOW) {
    // Turn left
    digitalWrite(MOTOR_A_FORWARD, LOW);
    digitalWrite(MOTOR_B_FORWARD, HIGH);
    digitalWrite(MOTOR_A_BACK, LOW);
    digitalWrite(MOTOR_B_BACK, LOW);
  } else {
    // Stop
    digitalWrite(MOTOR_A_FORWARD, LOW);
    digitalWrite(MOTOR_B_FORWARD, LOW);
    digitalWrite(MOTOR_A_BACK, LOW);
    digitalWrite(MOTOR_B_BACK, LOW);
  }
}

কোডের বিশ্লেষণ

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

প্রোজেক্টের পরীক্ষা

  • প্রোজেক্টটি সম্পন্ন হলে, রোবটটিকে একটি কালো লাইনের উপর রাখুন এবং এটি কীভাবে কাজ করে তা পর্যবেক্ষণ করুন।
  • লাইনের ধরন এবং রোবটের প্রতিক্রিয়া পরীক্ষার জন্য বিভিন্নভাবে ট্র্যাক তৈরি করতে পারেন।

ব্যবহারিক টিপস

  • সেন্সরের উচ্চতা: সেন্সরগুলো সঠিকভাবে লাইনটি শনাক্ত করার জন্য সঠিক উচ্চতায় ইনস্টল করুন।
  • পাওয়ার সাপ্লাই: নিশ্চিত করুন যে মোটরের জন্য যথেষ্ট শক্তি রয়েছে।
  • ক্যালিব্রেশন: সেন্সরের ইনপুট এবং মোটর নিয়ন্ত্রণের জন্য কোড ক্যালিব্রেট করুন যাতে এটি সঠিকভাবে কাজ করে।

লাইন ফলোয়ার রোবট তৈরি করা একটি চমৎকার প্রকল্প যা Arduino এবং ইলেকট্রনিক্স শেখার জন্য কার্যকরী। এটি বেসিক সেন্সর, মোটর নিয়ন্ত্রণ এবং প্রোগ্রামিং দক্ষতা উন্নত করতে সাহায্য করে।

common.content_added_by

Obstacle Avoiding Robot এর নির্মাণ

266
266

Obstacle Avoiding Robot এর নির্মাণ


Obstacle Avoiding Robot একটি জনপ্রিয় প্রকল্প যা Arduino এবং বিভিন্ন সেন্সর ব্যবহার করে তৈরি করা হয়। এই রোবটটি একটি অটো-পাইলট সিস্টেমের মাধ্যমে বাধা এড়িয়ে চলতে সক্ষম। এটি রোবটিক্স এবং ইলেকট্রনিক্সের একটি বাস্তব উদাহরণ যা বিভিন্ন প্রযুক্তি একত্রিত করে।

প্রয়োজনীয় উপাদান

  1. Arduino Board (যেমন Arduino Uno)
  2. Ultrasonic Sensor (HC-SR04)
  3. Motor Driver (L298N বা L293D)
  4. DC Motors (২টি)
  5. Wheels (২টি)
  6. Chassis (রোবটের বডি)
  7. Battery Pack (ভোল্টেজ অনুযায়ী)
  8. Jumper Wires (সংযোগের জন্য)
  9. Breadboard (ঐচ্ছিক)

সার্কিট সংযোগ

  1. Ultrasonic Sensor সংযোগ:
    • VCC: Arduino 5V
    • GND: Arduino GND
    • Trig: Arduino পিন 9
    • Echo: Arduino পিন 10
  2. Motor Driver সংযোগ:
    • IN1: Arduino পিন 3 (Motor A)
    • IN2: Arduino পিন 4 (Motor A)
    • IN3: Arduino পিন 5 (Motor B)
    • IN4: Arduino পিন 6 (Motor B)
    • VCC: Battery Pack
    • GND: Arduino GND
  3. DC Motors:
    • Motor A এবং Motor B কে Motor Driver এর আউটপুট পিনে সংযুক্ত করুন।

কোড উদাহরণ

নিচে একটি কোড উদাহরণ দেওয়া হলো যা Ultrasonic Sensor ব্যবহার করে বাধা শনাক্ত করে এবং রোবটটিকে সঠিকভাবে পরিচালনা করে।

#include <NewPing.h>

#define TRIG_PIN 9
#define ECHO_PIN 10
#define MAX_DISTANCE 200

NewPing sonar(TRIG_PIN, ECHO_PIN, MAX_DISTANCE);

#define MOTOR_A_IN1 3
#define MOTOR_A_IN2 4
#define MOTOR_B_IN1 5
#define MOTOR_B_IN2 6

void setup() {
  pinMode(MOTOR_A_IN1, OUTPUT);
  pinMode(MOTOR_A_IN2, OUTPUT);
  pinMode(MOTOR_B_IN1, OUTPUT);
  pinMode(MOTOR_B_IN2, OUTPUT);
}

void loop() {
  delay(50); // সেন্সর ডেটার জন্য অপেক্ষা
  unsigned int distance = sonar.ping_cm(); // দূরত্ব পরিমাপ করা

  if (distance < 15 && distance > 0) { // যদি বাধা ১৫ সেন্টিমিটারের মধ্যে হয়
    // রোবট পিছনে যাবে
    moveBackward();
    delay(500); // ৫০০ মিলিসেকেন্ড
    turnLeft(); // বাঁ দিকে ঘুরবে
  } else {
    moveForward(); // বাধা না থাকলে সামনে চলবে
  }
}

void moveForward() {
  digitalWrite(MOTOR_A_IN1, HIGH);
  digitalWrite(MOTOR_A_IN2, LOW);
  digitalWrite(MOTOR_B_IN1, HIGH);
  digitalWrite(MOTOR_B_IN2, LOW);
}

void moveBackward() {
  digitalWrite(MOTOR_A_IN1, LOW);
  digitalWrite(MOTOR_A_IN2, HIGH);
  digitalWrite(MOTOR_B_IN1, LOW);
  digitalWrite(MOTOR_B_IN2, HIGH);
}

void turnLeft() {
  digitalWrite(MOTOR_A_IN1, LOW);
  digitalWrite(MOTOR_A_IN2, HIGH);
  digitalWrite(MOTOR_B_IN1, HIGH);
  digitalWrite(MOTOR_B_IN2, LOW);
}

void turnRight() {
  digitalWrite(MOTOR_A_IN1, HIGH);
  digitalWrite(MOTOR_A_IN2, LOW);
  digitalWrite(MOTOR_B_IN1, LOW);
  digitalWrite(MOTOR_B_IN2, HIGH);
}

কোডের ব্যাখ্যা

  • Ultrasonic Sensor: NewPing লাইব্রেরি ব্যবহার করে রোবটের সামনে অবস্থিত বাধার দূরত্ব পরিমাপ করা হয়।
  • Motor Control: বিভিন্ন ফাংশনের মাধ্যমে রোবটের মোটর চালানো হয়, যেমন moveForward(), moveBackward(), turnLeft(), এবং turnRight().
  • Obstacle Detection: যদি বাধার দূরত্ব ১৫ সেন্টিমিটারের কম হয়, তাহলে রোবটটি পিছনে যাবে এবং পরে বাঁ দিকে ঘুরবে।

সমস্যা সমাধান টিপস

  • মোটর কাজ করছে না: সংযোগ এবং পাওয়ার চেক করুন। Motor Driver সঠিকভাবে সংযুক্ত আছে কি না নিশ্চিত করুন।
  • Ultrasonic Sensor কাজ করছে না: সেন্সরের সংযোগ এবং কোড চেক করুন। ট্রিগার এবং ইকো পিনগুলি সঠিকভাবে সংযুক্ত হয়েছে কি না নিশ্চিত করুন।
  • রোবট সঠিকভাবে চলে না: কোড এবং হার্ডওয়্যার সংযোগ চেক করুন।

Obstacle Avoiding Robot প্রকল্পটি ইলেকট্রনিক্স এবং রোবোটিক্সের একটি বাস্তব উদাহরণ। এটি সেন্সর ডেটা ব্যবহার করে রোবটের কার্যক্রম পরিচালনা করতে শেখায় এবং মৌলিক প্রোগ্রামিং ধারণার প্রয়োগ করে।

common.content_added_by

Bluetooth Controlled Robot

351
351

Bluetooth Controlled Robot


Bluetooth Controlled Robot হলো একটি মজাদার এবং শিক্ষামূলক প্রকল্প যা Arduino বোর্ড এবং Bluetooth মডিউল ব্যবহার করে তৈরি করা হয়। এই প্রজেক্টের মাধ্যমে আপনি আপনার মোবাইল ফোন বা অন্য কোনো ব্লুটুথ ডিভাইস ব্যবহার করে একটি রোবট নিয়ন্ত্রণ করতে পারবেন।

প্রয়োজনীয় উপাদান

  • Arduino বোর্ড (যেমন Arduino Uno)
  • Bluetooth Module (HC-05 বা HC-06)
  • Motor Driver Module (L298N বা L293D)
  • DC মোটর এবং চাকা
  • রোবট চ্যাসি
  • Jumper wires
  • Power supply

সংযোগের পদক্ষেপ

  1. Arduino বোর্ডে Bluetooth Module সংযোগ:
    • VCC -> Arduino এর 5V
    • GND -> Arduino এর GND
    • TXD -> Arduino এর RX (পিন 0)
    • RXD -> Arduino এর TX (পিন 1)
  2. Motor Driver Module সংযোগ:
    • IN1, IN2, IN3, IN4 -> Arduino এর ডিজিটাল পিন (যেমন 7, 6, 5, 4)
    • ENA, ENB -> পিন 9 এবং 10 (PWM পিন)
    • Motor A এবং Motor B -> মোটর সংযুক্ত
    • VCC এবং GND -> পাওয়ার এবং গ্রাউন্ড সংযোগ

কোড উদাহরণ: Bluetooth Controlled Robot

নিচে একটি কোড উদাহরণ দেওয়া হলো যা একটি ব্লুটুথ ডিভাইস থেকে ইনপুট নিয়ে মোটরের দিক নিয়ন্ত্রণ করবে।

char command; // ব্লুটুথ ইনপুট সংরক্ষণ করার জন্য

void setup() {
  Serial.begin(9600); // Bluetooth এর জন্য সিরিয়াল কমিউনিকেশন শুরু
  pinMode(7, OUTPUT); // মোটর পিন
  pinMode(6, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(4, OUTPUT);
}

void loop() {
  if (Serial.available() > 0) {
    command = Serial.read(); // Bluetooth থেকে কমান্ড পড়া

    if (command == 'F') { // সামনে চলা
      digitalWrite(7, HIGH);
      digitalWrite(6, LOW);
      digitalWrite(5, HIGH);
      digitalWrite(4, LOW);
    }
    else if (command == 'B') { // পেছনে চলা
      digitalWrite(7, LOW);
      digitalWrite(6, HIGH);
      digitalWrite(5, LOW);
      digitalWrite(4, HIGH);
    }
    else if (command == 'L') { // বাম দিকে ঘুরা
      digitalWrite(7, LOW);
      digitalWrite(6, HIGH);
      digitalWrite(5, HIGH);
      digitalWrite(4, LOW);
    }
    else if (command == 'R') { // ডান দিকে ঘুরা
      digitalWrite(7, HIGH);
      digitalWrite(6, LOW);
      digitalWrite(5, LOW);
      digitalWrite(4, HIGH);
    }
    else if (command == 'S') { // থামা
      digitalWrite(7, LOW);
      digitalWrite(6, LOW);
      digitalWrite(5, LOW);
      digitalWrite(4, LOW);
    }
  }
}

কোড ব্যাখ্যা

  • Serial.begin(9600): Bluetooth মডিউলের সাথে সিরিয়াল কমিউনিকেশন শুরু করা।
  • Serial.read(): Bluetooth ডিভাইস থেকে ইনপুট পড়া।
  • digitalWrite(): মোটরের পিনগুলোর অবস্থান নির্ধারণ করা, যাতে মোটরের দিক নিয়ন্ত্রণ করা যায়।

Bluetooth Module পেয়ারিং

  1. মোবাইল ফোনের ব্লুটুথ চালু করুন এবং HC-05 বা HC-06 ডিভাইসটি স্ক্যান করুন।
  2. ডিফল্ট পাসকোড ব্যবহার করুন (সাধারণত 1234 বা 0000)।
  3. মোবাইল অ্যাপ্লিকেশন (যেমন Bluetooth Terminal বা Custom App) ব্যবহার করে Arduino-তে ইনপুট পাঠান।

সমস্যা সমাধান টিপস

  • Bluetooth Module কাজ না করলে: নিশ্চিত করুন যে TX এবং RX সংযোগ ঠিকমতো করা হয়েছে।
  • ইনপুট পৌঁছাতে দেরি হলে: সিরিয়াল বাউড রেট সঠিক কিনা তা যাচাই করুন।
  • মোটর সঠিকভাবে ঘুরছে না: মোটর ড্রাইভার এবং পাওয়ার সংযোগ চেক করুন।

উন্নত বৈশিষ্ট্য

  • স্পিড কন্ট্রোল: PWM পিন ব্যবহার করে মোটরের গতি নিয়ন্ত্রণ করা যেতে পারে।
  • অবস্টাকল ডিটেকশন: অতিরিক্ত সেন্সর ব্যবহার করে স্বয়ংক্রিয় অবস্টাকল এভয়েডেন্স ফিচার যুক্ত করা যেতে পারে।
  • Custom Mobile App: MIT App Inventor বা অন্য টুল ব্যবহার করে একটি কাস্টম মোবাইল অ্যাপ তৈরি করতে পারেন।

এই Bluetooth Controlled Robot প্রজেক্টটি আপনার Arduino দক্ষতাকে বাড়াতে এবং ব্লুটুথ কমিউনিকেশনের ধারণা স্পষ্ট করতে সহায়ক।

common.content_added_by

Gesture Controlled Robot প্রজেক্ট

203
203

Gesture Controlled Robot প্রজেক্ট


Gesture Controlled Robot একটি আকর্ষণীয় এবং প্রযুক্তিগত প্রোজেক্ট যা ইউজারের হাতের ইশারার মাধ্যমে একটি রোবটকে নিয়ন্ত্রণ করতে সক্ষম। এই প্রকল্পে সাধারণত Accelerometer বা Gyroscope সেন্সর ব্যবহার করা হয়, যা রোবটের চলাচল নির্দেশ করে। Arduino বোর্ডের সাহায্যে এই প্রকল্পটি তৈরি করা হয়।

প্রয়োজনীয় উপাদান

  • Arduino বোর্ড (যেমন Arduino Uno)
  • Accelerometer/Gyroscope (যেমন MPU6050)
  • DC Motors (যেমন 2 টি)
  • Motor Driver Module (যেমন L298N)
  • Chassis (রোবট বডির জন্য)
  • Jumper wires
  • Power supply (ব্যাটারি)

সংযোগের পদক্ষেপ

  1. Accelerometer/Gyroscope সংযোগ:
    • VCC -> Arduino 5V
    • GND -> Arduino GND
    • SDA -> Arduino A4 (I2C)
    • SCL -> Arduino A5 (I2C)
  2. DC Motors এবং Motor Driver সংযোগ:
    • Motor A -> Motor Driver Module (OUT1, OUT2)
    • Motor B -> Motor Driver Module (OUT3, OUT4)
    • IN1, IN2, IN3, IN4 -> Arduino Digital Pins (যেমন 8, 9, 10, 11)
    • VCC -> Power supply (যেমন ব্যাটারি)
    • GND -> Common ground

কোড উদাহরণ

MPU6050 ব্যবহার করে রোবটের নিয়ন্ত্রণের জন্য নিচের কোডটি দেওয়া হলো:

#include <Wire.h>
#include <MPU6050.h>

MPU6050 mpu;

// Motor Driver Pins
const int motorA1 = 8;
const int motorA2 = 9;
const int motorB1 = 10;
const int motorB2 = 11;

void setup() {
  Serial.begin(9600);
  Wire.begin();
  mpu.initialize();

  pinMode(motorA1, OUTPUT);
  pinMode(motorA2, OUTPUT);
  pinMode(motorB1, OUTPUT);
  pinMode(motorB2, OUTPUT);
}

void loop() {
  // MPU6050 থেকে ডেটা পড়া
  int16_t ax, ay, az;
  mpu.getAcceleration(&ax, &ay, &az);
  
  // হাতের ইশারা অনুযায়ী রোবট নিয়ন্ত্রণ
  if (ay > 20000) { // সামনে ইশারা
    forward();
  } else if (ay < -20000) { // পিছনে ইশারা
    backward();
  } else if (ax > 20000) { // ডানে ইশারা
    turnRight();
  } else if (ax < -20000) { // বামে ইশারা
    turnLeft();
  } else { // কোনো নির্দেশনা নেই
    stop();
  }

  delay(100);
}

void forward() {
  digitalWrite(motorA1, HIGH);
  digitalWrite(motorA2, LOW);
  digitalWrite(motorB1, HIGH);
  digitalWrite(motorB2, LOW);
}

void backward() {
  digitalWrite(motorA1, LOW);
  digitalWrite(motorA2, HIGH);
  digitalWrite(motorB1, LOW);
  digitalWrite(motorB2, HIGH);
}

void turnRight() {
  digitalWrite(motorA1, HIGH);
  digitalWrite(motorA2, LOW);
  digitalWrite(motorB1, LOW);
  digitalWrite(motorB2, LOW);
}

void turnLeft() {
  digitalWrite(motorA1, LOW);
  digitalWrite(motorA2, LOW);
  digitalWrite(motorB1, HIGH);
  digitalWrite(motorB2, LOW);
}

void stop() {
  digitalWrite(motorA1, LOW);
  digitalWrite(motorA2, LOW);
  digitalWrite(motorB1, LOW);
  digitalWrite(motorB2, LOW);
}

কোডের ব্যাখ্যা

  • MPU6050.h: MPU6050 লাইব্রেরি ব্যবহার করা হয়, যা সেন্সর থেকে ডেটা পড়তে সহায়তা করে।
  • Motor Driver Pins: মোটরের জন্য ডিজিটাল পিন কনফিগারেশন।
  • mpu.getAcceleration(): সেন্সরের মাধ্যমে হাতের ইশারার ডেটা পড়া।
  • Forward(), Backward(), TurnRight(), TurnLeft(), Stop(): রোবটের চলাচল নিয়ন্ত্রণের জন্য বিভিন্ন ফাংশন।

সমস্যা সমাধান টিপস

  • মোটর কাজ করছে না: সংযোগগুলো সঠিকভাবে করা হয়েছে কি না চেক করুন।
  • সেন্সরের ডেটা সঠিক নয়: MPU6050 সেন্সরের ক্যালিব্রেশন নিশ্চিত করুন।
  • ** পাওয়ার সমস্যা**: মোটরের জন্য যথেষ্ট পাওয়ার আছে কিনা যাচাই করুন।

এই প্রকল্পটি আপনাকে IoT এবং রোবটিক্সের মৌলিক ধারণা দিতে পারে, এবং এটি আপনার হাতে কাজ করার দক্ষতা বৃদ্ধি করবে। Gesture Controlled Robot একটি চিত্তাকর্ষক প্রকল্প, যা বাস্তব সময়ে আপনার হাতের ইশারার উপর ভিত্তি করে রোবটের চলাচল নিয়ন্ত্রণ করতে সক্ষম।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion