Како да направите едноставен робот

Како да направите едноставен робот

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
– IN1, IN2 за левиот мотор до некои дигитални пинови на Arduino
– IN3, IN4 за десен мотор до некои дигитални пинови на Arduino
– ENA и ENB (овозможување) можат да се поврзат со пиновите на Arduino PWM за контрола на брзината (опционално). Ако не, некои модули L298N веќе имаат џампер за овозможување за да му дозволат на моторот да работи со полна брзина.

в) HC-SR04 сензор кон Arduino
– VCC до 5V Arduino
– GND до GND Arduino
– TRIG кон дигиталниот пин на Arduino
– ECHO до Arduino дигитален пин

г) Моќ
Моторот бара повеќе струја отколку што Arduino може да обезбеди. Затоа:
– Главната батерија оди до драјверот на моторот (+12V и GND терминали на L298N).
– Arduino може да се напојува и од батерија (преку VIN) или од посебна батерија за напојување/USB.
– Satukan ground : GND baterai/driver dan GND Arduino harus terhubung agar sinyal kontrol stabil.

Најчестата грешка кај почетниците е заборавањето да се склопи GND-то, па роботот се движи неправилно.

5. Работна логика на роботот за избегнување пречки

Robot akan bekerja dengan 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 readDistance() {
дигитално пишување (TRIG, НИСКО);
одложувањеМикросекунди (2);
дигитално пишување (TRIG, HIGH);
одложувањеМикросекунди (10);
дигитално пишување (TRIG, НИСКО);

времетраење = pulseIn(ECHO, HIGH);
int cm = durasi 0.034 / 2;
врати cm;
}

празнина напред() {
дигитално запишување (IN1, HIGH);
дигитално запишување (IN2, НИСКО);
дигитално запишување (IN3, HIGH);
дигитално запишување (IN4, НИСКО);
}

void reverse() {
дигитално запишување (IN1, НИСКО);
дигитално запишување (IN2, HIGH);
дигитално запишување (IN3, НИСКО);
дигитално запишување (IN4, HIGH);
}

празнина свртете надесно() {
дигитално запишување (IN1, HIGH);
дигитално запишување (IN2, НИСКО);
дигитално запишување (IN3, НИСКО);
дигитално запишување (IN4, HIGH);
}

празнина стоп() {
дигитално запишување (IN1, НИСКО);
дигитално запишување (IN2, НИСКО);
дигитално запишување (IN3, НИСКО);
дигитално запишување (IN4, НИСКО);
}

невалидно поставување () {
pinMode(TRIG, ИЗЛЕЗ);
pinMode(ECHO, INPUT);

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

Сериски.почни (9600);
}

празнина јамка () {
растојание = readDistance();
Serial.println(растојание);

ако (растојание > 20) {
продолжи();
} Else {
стоп();
доцнење (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, DC мотор, драјвер за мотор и ултразвучен сензор, можете да создадете робот што може автоматски да се движи и да избегнува пречки. Клучевите за успех се уредно поврзување, доволно ресурси и темелно тестирање. Откако ќе го завршите овој проект, ќе бидете подобро подготвени да се справите со посложени роботски проекти, како што е паметен робот базиран на камера или робот што може да следи објекти.

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

Tinggalkan коментар