কীভাবে একটি সাধারণ রোবট তৈরি করবেন

কীভাবে একটি সাধারণ রোবট তৈরি করবেন

Membuat robot sederhana adalah cara yang menyenangkan untuk belajar tentang elektronika, mekanika dasar, dan pemrograman. Banyak orang mengira robot harus mahal dan rumit, padahal kita bisa memulainya dari proyek kecil yang mudah dirakit di rumah. Dalam artikel ini, kita akan membuat robot sederhana tipe robot penghindar halangan (obstacle avoiding robot) menggunakan sensor ultrasonik. Robot ini dapat berjalan maju dan secara otomatis berbelok saat mendeteksi benda di depannya. Proyek ini cocok নতুনদের জন্য, pelajar, atau siapa pun yang ingin mulai belajar robotika.

১. সরল রোবটের ধারণা বুঝুন

Secara umum, robot memiliki tiga komponen utama: otak (kontroler), indera (sensor), dan otot (aktuator) . Pada proyek ini:

– Kontroler : Arduino Uno (atau kompatibel)
– Sensor : Sensor ultrasonik HC-SR04 untuk mengukur jarak
– Aktuator : Motor DC yang menggerakkan roda
– Penggerak motor : Driver motor L298N (atau L293D) agar motor bisa dikontrol oleh Arduino

যখন সেন্সরটি রোবটের সামনের দূরত্ব পরিমাপ করে এবং সেই দূরত্ব খুব কম হয়, তখন আরডুইনো মোটর ড্রাইভারকে গতির দিক পরিবর্তন করার নির্দেশ দেয়, যেমন ডানে বা বামে ঘোরানোর জন্য।

২. প্রয়োজনীয় সরঞ্জাম ও উপকরণ

Berikut daftar komponen yang umum digunakan dan mudah ditemukan di toko elektronik atau marketplace:

1. Arduino Uno (1 buah)
2. Driver motor L298N (1 buah)
3. Sensor ultrasonik HC-SR04 (1 buah)
4. Motor DC + gearbox dan roda (2 buah) untuk robot 2 roda (differential drive)
5. Caster wheel (1 buah) roda kecil penyeimbang di depan atau belakang
6. Baterai (misalnya 2×18650 atau pack 7,4V) atau 6xAA, sesuai kebutuhan motor
7. Chassis robot (bisa beli jadi atau buat dari akrilik/triplek)
8. Kabel jumper (male-female dan male-male)
9. Saklar on/off (opsional, tapi sangat membantu)
10. Breadboard kecil (opsional)
11. Baut, mur, obeng, dan lem tembak secukupnya

আপনি যদি আরও সরল কিছু চান (আল্ট্রাসনিক সেন্সর ছাড়া), তাহলে লাইন সেন্সর ব্যবহার করে একটি “লাইন ফলোয়ার” রোবট তৈরি করতে পারেন, কিন্তু বাধা পরিহারকারী সংস্করণগুলো প্রায়শই বেশি “জীবন্ত” মনে হয়, কারণ সেগুলো তাদের সামনের বস্তুগুলোতে সাড়া দেয়।

৩. রোবট চ্যাসিসের নকশা প্রণয়ন

চ্যাসিস হলো সেই কাঠামো যার উপর সমস্ত যন্ত্রাংশ বসানো থাকে। আপনি তৈরি চ্যাসিস কিট ব্যবহার করতে পারেন অথবা অ্যাক্রিলিক, পিভিসি বা পাতলা কাঠের মতো হালকা উপকরণ দিয়ে নিজেরটা তৈরি করে নিতে পারেন। এর মূলনীতিটি হলো:

– Pasang dua motor DC di sisi kiri dan kanan.
– মোটরবাইকে চাকাগুলো লাগিয়ে দিন।
– Tambahkan caster wheel sebagai penyeimbang agar robot stabil.
ব্যাটারিটি এমন অবস্থানে রাখুন যাতে রোবটটি কাত না হয়ে যায়।
– সহজে ব্যবহারের জন্য আরডুইনো এবং মোটর ড্রাইভারগুলো উপরে রাখা উচিত।

খেয়াল রাখবেন যেন ক্যাবলটি নিচে ঝুলে না থাকে, যাতে এটি চাকায় আটকে না যায়।

৪. মৌলিক ওয়্যারিং ডায়াগ্রাম

এখানে একটি সাধারণ সংযোগের ধারণা দেওয়া হলো (পিনগুলো পরিবর্তনযোগ্য):

ক) মোটর থেকে চালক L298N
– Motor kiri ke output OUT1 dan OUT2
– Motor kanan ke output OUT3 dan OUT4

খ) আরডুইনোর জন্য L298N ড্রাইভার
– বাম মোটরের জন্য IN1, IN2 থেকে কিছু আরডুইনো ডিজিটাল পিন
– ডান মোটরের জন্য IN3, IN4 কিছু আরডুইনো ডিজিটাল পিনের সাথে সংযুক্ত।
– গতি নিয়ন্ত্রণের জন্য ENA এবং ENB (এনাবল) আরডুইনোর PWM পিনের সাথে সংযুক্ত করা যেতে পারে (ঐচ্ছিক)। তা না হলে, কিছু L298N মডিউলে মোটরকে পূর্ণ গতিতে চালানোর জন্য আগে থেকেই একটি এনাবল জাম্পার থাকে।

গ) HC-SR04 সেন্সর থেকে আরডুইনো
– VCC থেকে 5V আরডুইনো
– GND থেকে Arduino-র GND
– আরডুইনো ডিজিটাল পিনে TRIG
– আর্ডুইনো ডিজিটাল পিনে ECHO

ঘ) ক্ষমতা
মোটরটির জন্য আর্ডুইনোর সরবরাহ ক্ষমতার চেয়ে বেশি কারেন্ট প্রয়োজন। অতএব:
– মূল ব্যাটারিটি মোটর ড্রাইভারের সাথে সংযুক্ত করতে হবে (L298N-এর +12V এবং GND টার্মিনালে)।
– আরডুইনো ব্যাটারি (VIN-এর মাধ্যমে) অথবা আলাদা পাওয়ার ব্যাংক/ইউএসবি থেকেও চালানো যায়।
– Satukan ground : GND baterai/driver dan GND Arduino harus terhubung agar sinyal kontrol stabil.

নতুনদের মধ্যে সবচেয়ে সাধারণ ভুল হলো GND সংযোগ করতে ভুলে যাওয়া, যার ফলে রোবটটি এলোমেলোভাবে চলে।

৫. বাধা পরিহারকারী রোবটের কার্যপ্রণালী

Robot akan কাজ করার সাথে alur sederhana:

১. আলট্রাসনিক সেন্সর থেকে দূরত্বটি পড়ুন।
২. যদি দূরত্ব নির্ধারিত সীমা (যেমন, ২০ সেমি) অতিক্রম করে, তবে রোবটটি সামনে এগিয়ে যায়।
৩. দূরত্ব ২০ সেমি বা তার কম হলে রোবটটি কিছুক্ষণের জন্য থেমে যায়।
৪. রোবটটি সামান্য পিছিয়ে যায় এবং তারপর কয়েকশ মিলিসেকেন্ডের জন্য ঘোরে (উদাহরণস্বরূপ ডানদিকে)।
৫. দূরত্বটি আবার পড়ুন এবং পুনরাবৃত্তি করুন।

এই পদ্ধতির ফলে, রোবটটি সবচেয়ে উপযুক্ত পথটি বেছে না নিলেও, মনে হবে যেন এটি বাধা “এড়িয়ে” চলছে।

৬. সহজ আরডুইনো কোডের উদাহরণ

নীচে একটি সাধারণ কোডের উদাহরণ দেওয়া হল। আপনি আপনার সার্কিটের প্রয়োজন অনুযায়ী পিনগুলি পরিবর্তন করতে পারেন:

"`cpp
TRIG 8 সংজ্ঞায়িত করুন
ECHO 9 এর সংজ্ঞা দাও

বাম মোটর
IN1 2 সংজ্ঞায়িত করুন
IN2 3 সংজ্ঞায়িত করুন

ডান মোটর
IN3 4 সংজ্ঞায়িত করুন
IN4 5 সংজ্ঞায়িত করুন

দীর্ঘ সময়কাল;
পূর্ণসংখ্যা দূরত্ব;

int readDistance() {
digitalWrite(TRIG, LOW);
delayMicroseconds(2);
ডিজিটালরাইট(ট্রিগ, হাই);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);

সময়কাল = পালসইন(ইকো, হাই);
int cm = durasi 0.034 / 2;
ফেরত সেমি;
}

void forward() {
ডিজিটালরাইট(IN1, HIGH);
digitalWrite(IN2, LOW);
ডিজিটালরাইট(IN3, HIGH);
digitalWrite(IN4, LOW);
}

void reverse() {
digitalWrite(IN1, LOW);
ডিজিটালরাইট(IN2, HIGH);
digitalWrite(IN3, LOW);
ডিজিটালরাইট(IN4, HIGH);
}

void turnRight() {
ডিজিটালরাইট(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
ডিজিটালরাইট(IN4, HIGH);
}

void stop() {
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
}

অকার্যকর সেটআপ () {
pinMode(TRIG, OUTPUT);
পিনমোড(ইকো, ইনপুট);

pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);

সিরিয়াল.বেগিন (9600);
}

অকার্যকর লুপ () {
দূরত্ব = দূরত্ব পড়ুন();
Serial.println(দূরত্ব);

যদি (দূরত্ব > 20) {
এগিয়ে যান();
} অন্য {
থামুন();
বিলম্ব (200);
বিপরীত();
বিলম্ব (300);
থামুন();
বিলম্ব (200);
ডানদিকে ঘুরুন();
বিলম্ব (400);
থামুন();
}

বিলম্ব (50);
}
"

এই কোডটি সবচেয়ে সাধারণ সংস্করণ। যদি রোবটটি খুব ঘন ঘন ক্র্যাশ করে, তাহলে আপনি থ্রেশহোল্ড ২৫-৩০ সেমি পর্যন্ত বাড়াতে পারেন অথবা ঘোরার সময় বাড়িয়ে দিতে পারেন।

৭. পরীক্ষণ এবং সমন্বয়

রোবটটি একত্রিত হয়ে গেলে, ধাপে ধাপে পরীক্ষা করুন:

1. Uji motor terlebih dahulu : jalankan fungsi maju/mundur untuk memastikan roda berputar sesuai arah.
2. Uji sensor ultrasonik : lihat hasil jarak di Serial Monitor Arduino IDE.
3. Gabungkan sistem : jalankan program full dan amati reaksi robot.

রোবটটি সামনে চলার পরিবর্তে যদি ঘুরে যায় বা পেছনে চলে, তাহলে আপনাকে মোটরের কেবলগুলো অদলবদল করতে হতে পারে অথবা IN1-IN2 (এবং IN3-IN4) লজিকটি উল্টে দিতে হতে পারে।

৮. সাধারণ সমস্যা ও তার সমাধান

প্রায়শই যে বাধাগুলো দেখা দেয়:

– Robot tidak bergerak sama sekali : cek baterai, cek driver motor, pastikan enable jumper aktif.
– Arduino reset saat motor jalan : suplai daya tidak cukup atau noise dari motor. Coba gunakan baterai terpisah untuk Arduino, tambahkan kapasitor, dan rapikan ground.
– Sensor membaca jarak tidak stabil : pastikan sensor menghadap lurus, jauhkan dari getaran berlebih, dan pastikan kabel tidak longgar.
– Robot “nyangkut” di sudut : tambahkan logika belok acak (random) atau gunakan servo untuk menggerakkan sensor agar bisa “melihat” kiri dan kanan.

৯. সাফল্যের পর উন্নয়নের ধারণা

একবার মূল রোবটটি চালু হয়ে গেলে, আপনি এটিকে আরও আকর্ষণীয় কিছুতে আপগ্রেড করতে পারেন:

– Menambahkan servo untuk menggerakkan sensor ultrasonik agar robot memilih jalur terbaik.
– Menambahkan kontrol Bluetooth (HC-05) agar bisa dikendalikan dari HP.
– Menggunakan sensor garis untuk membuat robot line follower.
– Mengatur kecepatan PWM agar gerakan lebih halus.
– Menambahkan buzzer atau LED sebagai indikator saat mendeteksi halangan.

উপসংহার

একটি সাধারণ রোবট তৈরি করা কঠিন হওয়ার কথা নয়। একটি আরডুইনো, একটি ডিসি মোটর, একটি মোটর ড্রাইভার এবং একটি আলট্রাসনিক সেন্সর দিয়ে আপনি এমন একটি রোবট তৈরি করতে পারেন যা স্বয়ংক্রিয়ভাবে চলাচল করতে এবং বাধা এড়াতে পারে। সফলতার চাবিকাঠি হলো পরিপাটি ওয়্যারিং, পর্যাপ্ত উপকরণ এবং পুঙ্খানুপুঙ্খ পরীক্ষা। এই প্রকল্পটি একবার সফলভাবে সম্পন্ন করতে পারলে, আপনি আরও জটিল রোবটিক্স প্রকল্প, যেমন ক্যামেরা-ভিত্তিক স্মার্ট রোবট বা বস্তু অনুসরণ করতে সক্ষম রোবট তৈরির জন্য আরও ভালোভাবে প্রস্তুত হবেন।

Jika Anda ingin, saya bisa membantu membuatkan skema wiring yang lebih detail sesuai pin yang Anda pilih , atau menyesuaikan kode agar robot bisa belok kiri/kanan secara acak dan lebih “cerdas”.

একটি মন্তব্য করুন