Жөнөкөй роботту кантип жасоо керек
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 untuk pemula, pelajar, atau siapa pun yang ingin mulai belajar robotika.
1. Жөнөкөй роботтор түшүнүгүн түшүнүү
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
Сенсор роботтун алдындагы аралыкты эсептегенде жана аралык өтө жакын болгондо, Arduino мотордун айдоочусуна кыймыл багытын өзгөртүүнү, мисалы, оңго же солго бурулууну буйрук кылат.
2. Керектүү шаймандар жана материалдар
Мына тизме 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
Эгер сиз андан да жөнөкөй нерсени кааласаңыз (ультраүн сенсорлору жок), сиз линия сенсорлору бар "сызыкты ээрчүүчү" роботту кура аласыз, бирок тоскоолдуктардан качуу версиялары көбүнчө алдыдагы нерселерге жооп бергендиктен "тирүү" сезилет.
3. Роботтун шассисин долбоорлоо
Шасси – бул бардык компоненттер орнотулган рамка. Сиз даяр шасси комплектин колдоно аласыз же акрил, ПВХ же жука жыгач сыяктуу жеңил материалдардан өзүңүз жасай аласыз. Принцип мындай:
– Pasang dua motor DC di sisi kiri dan kanan.
– Мотоциклге дөңгөлөктөрдү орнотуңуз.
– Tambahkan caster wheel sebagai penyeimbang agar robot stabil.
– Батареяны роботту кыйшайтып койбогондой абалга коюңуз.
– Arduino жана мотор драйверлери оңой жетүү үчүн жогору жагына жайгаштырылышы керек.
Дөңгөлөктөргө илинип калбашы үчүн, кабель салбырап калбаганын текшериңиз.
4. Негизги зым схемасы
Бул жерде жалпы туташуу концепциясы келтирилген (пиндерди ыңгайлаштырууга болот):
а) Мотордон айдоочуга L298N
– Motor kiri ke output OUT1 dan OUT2
– Motor kanan ke output OUT3 dan OUT4
б) L298N драйвери Arduino үчүн
– сол мотор үчүн кээ бир Arduino санариптик төөнөгүчтөрүнө IN1, IN2
– Оң мотор үчүн кээ бир Arduino санариптик төөнөгүчтөрүнө IN3, IN4
– Ылдамдыкты башкаруу үчүн ENA жана ENB (enable) Arduino PWM пиндерине туташтырылышы мүмкүн (милдеттүү эмес). Эгер андай болбосо, кээ бир L298N модулдарында мотордун толук ылдамдыкта иштешине мүмкүндүк берүүчү enable jumper бар.
c) HC-SR04 сенсорун Arduino'го туташтыруу
– VCCден 5V Arduinoго чейин
– GNDден GNDге Ардуино
– TRIGти Arduino санариптик төөнөгүчүнө туташтыруу
– ECHO'дон Arduino санариптик төөнөгүчүнө
г) Кубат
Мотор Arduino бере алгандан көбүрөөк ток талап кылат. Ошондуктан:
– Негизги батарея мотордун драйверине (L298Nдеги +12V жана GND терминалдары) берилет.
– Arduino батареядан (VIN аркылуу) же өзүнчө кубат банкы/USB аркылуу да кубатталышы мүмкүн.
– Satukan ground : GND baterai/driver dan GND Arduino harus terhubung agar sinyal kontrol stabil.
Жаңыдан баштагандар арасында эң көп кездешкен ката - GNDди чогултууну унутуп калуу, ошондуктан робот туруксуз кыймылдайт.
5. Тоскоолдуктардан качуу роботунун иштөө логикасы
Robot akan менен иштөө alur sederhana:
1. УЗИ сенсорунан аралыкты өлчөгүлө.
2. Эгерде аралык > босогодон (мисалы, 20 см) ашса, робот алдыга жылат.
3. Эгерде аралык ≤ 20 см болсо, робот кыска убакытка токтойт.
4. Робот бир аз артка жылат, андан кийин бир нече жүз миллисекундга (мисалы, оңго) бурулат.
5. Аралыкты кайра окуп, кайталаңыз.
Бул схема менен робот эң оптималдуу жолду тандабаса дагы, тоскоолдуктардан "качып" жаткандай көрүнөт.
6. Arduino кодунун жөнөкөй мисалы
Төмөндө коддун негизги мисалы келтирилген. Сиз схемаңызга ылайыкташтыруу үчүн пиндерди өзгөртө аласыз:
"`cpp
TRIG 8ди аныктаңыз
ECHO 9ду аныктаңыз
// Сол мотор
IN1 2 аныктаңыз
IN2 3 аныктаңыз
// Оң жактагы мотор
IN3 4 аныктаңыз
IN4 5 аныктаңыз
узак мөөнөттүү;
аралык;
int окуу аралыгы() {
digitalWrite(TRIG, LOW);
delayMicroseconds(2);
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
узактыгы = pulseIn(ECHO, HIGH);
int cm = durasi 0.034 / 2;
см кайтаруу;
}
боштук алдыга() {
digitalWrite(IN1, ЖОГОРКУ);
digitalWrite(IN2, ТӨМӨН);
digitalWrite(IN3, ЖОГОРКУ);
digitalWrite(IN4, ТӨМӨН);
}
void тескери() {
digitalWrite(IN1, ТӨМӨН);
digitalWrite(IN2, ЖОГОРКУ);
digitalWrite(IN3, ТӨМӨН);
digitalWrite(IN4, ЖОГОРКУ);
}
боштук бурулушОң() {
digitalWrite(IN1, ЖОГОРКУ);
digitalWrite(IN2, ТӨМӨН);
digitalWrite(IN3, ТӨМӨН);
digitalWrite(IN4, ЖОГОРКУ);
}
боштук токтотуу() {
digitalWrite(IN1, ТӨМӨН);
digitalWrite(IN2, ТӨМӨН);
digitalWrite(IN3, ТӨМӨН);
digitalWrite(IN4, ТӨМӨН);
}
жараксыз орнотуу () {
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
Serial.begin (9600);
}
жараксыз цикл () {
аралык = readDistance();
Serial.println(аралык);
эгер (аралык > 20) {
улантуу();
башка} {
токтотуу();
кечигүү (200);
тескери();
кечигүү (300);
токтотуу();
кечигүү (200);
оңго бурулуңуз ();
кечигүү (400);
токтотуу();
}
кечигүү (50);
}
""
Бул код эң жөнөкөй версия. Эгерде робот өтө көп бузулуп калса, сиз босогону 25–30 смге чейин көбөйтө аласыз же бурулуш убактысын көбөйтө аласыз.
7. Сыноо жана жөндөө
Робот чогултулгандан кийин, этап-этабы менен сыноону жүргүзүңүз:
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) логикасын тескерисинче иштетүү керек болушу мүмкүн.
8. Жалпы көйгөйлөр жана аларды чечүү жолдору
Көп учурда пайда болгон кээ бир тоскоолдуктар:
– 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. Ийгиликке жеткенден кийинки өнүгүү идеялары
Негизги робот иштеп баштагандан кийин, аны кызыктуураак нерсеге жаңырта аласыз:
– 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.
Корутунду
Жөнөкөй роботту куруу кыйын болбошу керек. Arduino, туруктуу токтун мотору, кыймылдаткычы жана ультраүн сенсору менен сиз кыймылдап, тоскоолдуктардан автоматтык түрдө кача алган роботту түзө аласыз. Ийгиликтин ачкычтары - зымдардын тыкан туташуусу, жетиштүү ресурстар жана кылдат сыноо. Бул долбоорду ийгиликтүү аяктагандан кийин, сиз камерага негизделген акылдуу робот же объектилерди ээрчий алган робот сыяктуу татаалыраак робототехника долбоорлорун чечүүгө жакшыраак даяр болосуз.
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”.