Line Follower Robot তৈরি করা
Line Follower Robot একটি স্বয়ংক্রিয় রোবট যা একটি নির্দিষ্ট লাইনে চলার জন্য ডিজাইন করা হয়। এটি সাধারণত একটি কালো লাইনের উপর চলতে পারে এবং লাইন থেকে বিচ্যুত হলে পুনরায় লাইনে ফিরে আসে। এই প্রকল্পটি ইলেকট্রনিক্স এবং রোবোটিক্স শেখার জন্য একটি জনপ্রিয় উদাহরণ।
প্রয়োজনীয় উপাদান
- Arduino বোর্ড (যেমন Arduino Uno)
- IR সেন্সর (লাইন ফলো করতে)
- DC মোটর (গতি তৈরি করার জন্য)
- মোটর ড্রাইভার (যেমন L298N)
- চ্যাসিস (রোবটের কাঠামোর জন্য)
- চাকা (মোটর এবং চ্যাসিসের সাথে সংযুক্ত)
- ব্যাটারি বা পাওয়ার সাপ্লাই
- Jumper wires
- Breadboard (ঐচ্ছিক)
সংযোগ ব্যবস্থা
- IR সেন্সর: সেন্সরগুলোকে Arduino এর ডিজিটাল পিনে সংযুক্ত করতে হবে। সাধারণত ২ বা ৩ পিন ব্যবহার করা হয়।
- DC মোটর: মোটরগুলোকে মোটর ড্রাইভারের সাথে সংযুক্ত করতে হবে।
- Motor Driver: মোটর ড্রাইভারটি Arduino বোর্ডের PWM পিনের সাথে সংযুক্ত করতে হবে।
- Power Supply: ব্যাটারি বা পাওয়ার সাপ্লাই ড্রাইভার এবং Arduino বোর্ডে সংযুক্ত করতে হবে।
সংযোগের উদাহরণ
| IR Sensor Pin | Arduino Pin |
|---|---|
| VCC | 5V |
| GND | GND |
| Output | 2 |
| Output | 3 |
| Motor Driver Pin | Arduino Pin |
|---|---|
| IN1 | 4 |
| IN2 | 5 |
| IN3 | 6 |
| IN4 | 7 |
কোড লেখা
নিচে একটি সাধারণ কোড উদাহরণ দেওয়া হলো যা লাইন ফলোয়ার রোবটের কার্যকারিতা নির্ধারণ করে:
#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 এবং ইলেকট্রনিক্স শেখার জন্য কার্যকরী। এটি বেসিক সেন্সর, মোটর নিয়ন্ত্রণ এবং প্রোগ্রামিং দক্ষতা উন্নত করতে সাহায্য করে।
Content added By
Read more