Oddiy robotni qanday qilish kerak

Oddiy robotni qanday qilish kerak

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 yangi boshlanuvchilar uchun, pelajar, atau siapa pun yang ingin mulai belajar robotika.

1. Oddiy robotlar tushunchasini tushuning

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

Sensor robot oldidagi masofani o'lchaganda va masofa juda yaqin bo'lsa, Arduino motor haydovchisiga harakat yo'nalishini o'zgartirishni, masalan, o'ngga yoki chapga burilishni buyuradi.

2. Kerakli asboblar va materiallar

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

Agar siz undan ham sodda narsani xohlasangiz (ultratovushli sensorlarsiz), chiziq sensorlari bilan "chiziq izdoshi" robotini yasashingiz mumkin, ammo to'siqlardan qochish versiyalari ko'pincha oldidagi narsalarga javob bergani uchun ko'proq "jonli" ko'rinadi.

3. Robot shassisini loyihalash

Shassi - bu barcha komponentlar o'rnatilgan ramka. Siz tayyor shassi to'plamidan foydalanishingiz yoki akril, PVX yoki yupqa yog'och kabi yengil materiallardan o'zingiznikini yasashingiz mumkin. Printsip quyidagicha:

– Pasang dua motor DC di sisi kiri dan kanan.
– G'ildiraklarni mototsiklga o'rnating.
– Tambahkan caster wheel sebagai penyeimbang agar robot stabil.
– Batareyani robotni qiyshaytirmaydigan joyga qo'ying.
– Arduino va motor drayverlari osongina kirish uchun yuqori qismga joylashtirilishi kerak.

Kabel g'ildiraklarga tiqilib qolmasligi uchun osilib turmasligiga ishonch hosil qiling.

4. Asosiy simlar sxemasi

Umumiy ulanish konsepsiyasi (pinlarni sozlash mumkin):

a) Motordan haydovchiga L298N
– Motor kiri ke output OUT1 dan OUT2
– Motor kanan ke output OUT3 dan OUT4

b) Arduino uchun L298N drayveri
– Chap motor uchun ba'zi Arduino raqamli pinlariga IN1, IN2
– Ba'zi Arduino raqamli pinlariga o'ng motor uchun IN3, IN4
– ENA va ENB (enable) tezlikni boshqarish uchun Arduino PWM pinlariga ulanishi mumkin (ixtiyoriy). Agar bunday bo'lmasa, ba'zi L298N modullarida motorning to'liq tezlikda ishlashiga imkon beruvchi enable jumper mavjud.

c) HC-SR04 sensori Arduinoga
– VCC dan 5V gacha bo'lgan Arduino
– GND dan GND Arduino ga
– Arduino raqamli piniga TRIG
– ECHO dan Arduino raqamli piniga

d) Quvvat
Motor Arduino taqdim eta oladiganidan ko'proq tok talab qiladi. Shuning uchun:
– Asosiy batareya motor drayveriga (L298N dagi +12V va GND terminallari) o'tadi.
– Arduino batareyadan (VIN orqali) yoki alohida quvvat banki/USB orqali ham quvvatlanishi mumkin.
– Satukan ground : GND baterai/driver dan GND Arduino harus terhubung agar sinyal kontrol stabil.

Yangi boshlanuvchilar orasida eng ko'p uchraydigan xato - GNDni yig'ishni unutish, shuning uchun robot tartibsiz harakatlanadi.

5. To'siqlardan qochish robotining ish mantig'i

Robot akan bilan ishlash alur sederhana:

1. Ultratovush sensoridan masofani o'qing.
2. Agar masofa > chegara (masalan, 20 sm) bo'lsa, robot oldinga siljiydi.
3. Agar masofa ≤ ​​20 sm bo'lsa, robot qisqa vaqtga to'xtaydi.
4. Robot biroz orqaga siljiydi va keyin bir necha yuz millisekundga (masalan, o'ngga) buriladi.
5. Masofani yana bir bor o'qing va takrorlang.

Ushbu naqsh bilan robot eng maqbul yo'lni tanlamasa ham, to'siqlardan "qochib o'tadigan" ko'rinadi.

6. Arduino kodining oddiy namunasi

Quyida asosiy kod namunasi keltirilgan. Siz kontaktlarning zanjiriga mos ravishda pinlarni sozlashingiz mumkin:

“`cpp
TRIG 8 ni aniqlang
ECHO 9 ni aniqlang

// Chap motor
IN1 2 ni aniqlang
IN2 3 ni aniqlang

// O'ng motor
IN3 4 ni aniqlang
IN4 5 ni aniqlang

uzoq muddat;
int masofa;

int readDistance() {
digitalWrite(TRIG, POW);
kechiktirishMikrosekundlar(2);
digitalWrite(TRIG, YUQORI);
kechiktirishMikrosekundlar(10);
digitalWrite(TRIG, POW);

davomiylik = pulseIn(ECHO, HIGH);
int cm = durasi 0.034 / 2;
sm ga qaytish;
}

oldinga bo'shlik() {
digitalWrite(IN1, YUQORI);
digitalWrite(IN2, POW);
digitalWrite(IN3, YUQORI);
digitalWrite(IN4, POW);
}

void teskari() {
digitalWrite(IN1, POW);
digitalWrite(IN2, YUQORI);
digitalWrite(IN3, POW);
digitalWrite(IN4, YUQORI);
}

void burilishO'ng() {
digitalWrite(IN1, YUQORI);
digitalWrite(IN2, POW);
digitalWrite(IN3, POW);
digitalWrite(IN4, YUQORI);
}

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

bekor o'rnatish () {
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);

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

Serial.begin (9600);
}

void loop () {
masofa = readDistance();
Serial.println(masofa);

agar (masofa > 20) {
davom etish();
} Else {
STOP();
kechikish (200);
teskari();
kechikish (300);
STOP();
kechikish (200);
O'ng tomonga buriling();
kechikish (400);
STOP();
}

kechikish (50);
}
""

Bu kod eng asosiy versiya. Agar robot juda tez-tez qulab tushsa, siz chegarani 25-30 sm gacha oshirishingiz yoki burilish vaqtini oshirishingiz mumkin.

7. Sinov va sozlash

Robot yig'ilgandan so'ng, bosqichma-bosqich sinovlarni bajaring:

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.

Agar robot oldinga harakatlanishi kerak bo'lgan paytda aylanayotgan yoki orqaga harakatlanayotgan bo'lsa, siz motor simlarini almashtirishingiz yoki IN1-IN2 (va IN3-IN4) mantig'ini teskari yo'naltirishingiz kerak bo'lishi mumkin.

8. Umumiy muammolar va yechimlar

Ko'pincha yuzaga keladigan ba'zi to'siqlar:

– 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.

9. Muvaffaqiyatdan keyingi rivojlanish g'oyalari

Asosiy robot ishga tushirilgandan so'ng, uni yanada qiziqarliroq narsaga yangilashingiz mumkin:

– 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.

Xulosa

Oddiy robotni yaratish qiyin bo'lishi shart emas. Arduino, doimiy tok motori, motor drayveri va ultratovush sensori yordamida siz avtomatik ravishda harakatlana oladigan va to'siqlardan qochib qutula oladigan robot yaratishingiz mumkin. Muvaffaqiyat kalitlari - bu aniq simlar, yetarli resurslar va puxta sinovlar. Ushbu loyihani muvaffaqiyatli tugatganingizdan so'ng, siz kameraga asoslangan aqlli robot yoki obyektlarni kuzatib bora oladigan robot kabi murakkabroq robototexnika loyihalarini bajarishga yaxshiroq tayyor bo'lasiz.

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”.

Fikr qoldiring