Hvordan man laver en simpel robot

Sådan laver du en simpel robot

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. Forstå konceptet med simple robotter

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

Når sensoren aflæser afstanden foran robotten, og afstanden er for tæt, vil Arduinoen beordre motordriveren til at ændre bevægelsesretningen, for eksempel at dreje til højre eller venstre.

2. Nødvendige værktøjer og materialer

Her er listen 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

Hvis du ønsker noget endnu enklere (uden ultralydssensorer), kan du bygge en "linjefølger"-robot med linjesensorer, men versioner, der undgår forhindringer, føles ofte mere "levende", fordi de reagerer på objekter foran dem.

3. Design af robotchassiset

Chassiset er den ramme, som alle komponenterne er monteret på. Du kan bruge et færdiglavet chassissæt eller bygge dit eget af lette materialer som akryl, PVC eller tyndt træ. Princippet er:

– Pasang dua motor DC di sisi kiri dan kanan.
– Monter hjulene på motorcyklen.
– Tambahkan caster wheel sebagai penyeimbang agar robot stabil.
– Placer batteriet i en position, der ikke får robotten til at vippe.
– Arduinoen og motordriverne bør placeres øverst for nem adgang.

Sørg for, at kablet ikke hænger ned, så det ikke sidder fast i hjulene.

4. Grundlæggende ledningsdiagram

Her er et generelt forbindelseskoncept (benene kan tilpasses):

a) Motor til driver L298N
– Motor kiri ke output OUT1 dan OUT2
– Motor kanan ke output OUT3 dan OUT4

b) L298N-driver til Arduino
– IN1, IN2 til venstre motor til nogle digitale Arduino-ben
– IN3, IN4 til højre motor til nogle digitale Arduino-ben
– ENA og ENB (enable) kan tilsluttes Arduino PWM-benene for at styre hastigheden (valgfrit). Hvis ikke, har nogle L298N-moduler allerede en enable-jumper, der tillader motoren at køre med fuld hastighed.

c) HC-SR04-sensor til Arduino
– VCC til 5V Arduino
– GND til GND Arduino
– TRIG til Arduinos digitale pin
– ECHO til Arduino digital pin

d) Strøm
Motoren kræver mere strøm, end Arduinoen kan levere. Derfor:
– Hovedbatteriet går til motordriveren (+12V og GND-terminaler på L298N).
– Arduino kan også drives af batteri (via VIN) eller separat powerbank/USB.
– Satukan ground : GND baterai/driver dan GND Arduino harus terhubung agar sinyal kontrol stabil.

Den mest almindelige fejl blandt begyndere er at glemme at sætte GND'en sammen, så robotten bevæger sig uregelmæssigt.

5. Arbejdslogikken bag forhindringsundgåelsesrobotten

Robot akan bekerja dengan alur sederhana:

1. Aflæs afstanden fra ultralydssensoren.
2. Hvis afstanden er > tærsklen (f.eks. 20 cm), bevæger robotten sig fremad.
3. Hvis afstanden er ≤ 20 cm, stopper robotten kortvarigt.
4. Robotten bevæger sig lidt tilbage og drejer derefter (for eksempel til højre) i et par hundrede millisekunder.
5. Aflæs afstanden igen og gentag.

Med dette mønster vil robotten se ud til at "undgå" forhindringer, selvom den ikke vælger den mest optimale rute.

6. Eksempel på simpel Arduino-kode

Nedenfor er et eksempel på en grundlæggende kode. Du kan tilpasse benene, så de passer til dit kredsløb:

"`cpp
definer TRIG 8
definer ECHO 9

// Venstre motor
definer IN1 2
definer IN2 3

// Højre motor
definer IN3 4
definer IN4 5

lang varighed;
int afstand;

int læseAfstand() {
digitalWrite(TRIG, LAV);
delayMicroseconds(2);
digitalWrite(TRIG, HØJ);
delayMicroseconds(10);
digitalWrite(TRIG, LAV);

varighed = pulseIn(ECHO, HIGH);
int cm = durasi 0.034 / 2;
retur cm;
}

void fremad() {
digitalWrite(IN1, HØJ);
digitalWrite(IN2, LAV);
digitalWrite(IN3, HØJ);
digitalWrite(IN4, LAV);
}

void reverse() {
digitalWrite(IN1, LAV);
digitalWrite(IN2, HØJ);
digitalWrite(IN3, LAV);
digitalWrite(IN4, HØJ);
}

void drejHøjre() {
digitalWrite(IN1, HØJ);
digitalWrite(IN2, LAV);
digitalWrite(IN3, LAV);
digitalWrite(IN4, HØJ);
}

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

ugyldig opsætning () {
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);

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

Serial.begin (9600);
}

void loop () {
afstand = læsAfstand();
Seriel.println(afstand);

hvis (afstand > 20) {
fortsætte();
} Else {
stop();
forsinkelse (200);
bagside();
forsinkelse (300);
stop();
forsinkelse (200);
drej til højre();
forsinkelse (400);
stop();
}

forsinkelse (50);
}
”`

Denne kode er den mest basale version. Hvis robotten går ned for ofte, kan du øge tærsklen til 25-30 cm eller øge drejetiden.

7. Test og finjustering

Når robotten er samlet, skal du udføre trinvis testning:

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.

Hvis robotten drejer eller bevæger sig baglæns, når den burde bevæge sig fremad, kan det være nødvendigt at bytte motorkablerne eller vende IN1-IN2 (og IN3-IN4) logikken om.

8. Almindelige problemer og løsninger

Nogle forhindringer, der ofte opstår:

– 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. Udviklingsideer efter succes

Når den grundlæggende robot er oppe at køre, kan du opgradere den til noget mere interessant:

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

Konklusion

Det behøver ikke at være svært at bygge en simpel robot. Med en Arduino, en DC-motor, en motordriver og en ultralydssensor kan du skabe en robot, der kan bevæge sig og undgå forhindringer automatisk. Nøglerne til succes er pæn ledningsføring, tilstrækkelige ressourcer og grundig testning. Når du har fået styr på dette projekt, vil du være bedre forberedt på at tackle mere komplekse robotprojekter, såsom en kamerabaseret smart robot eller en, der kan følge objekter.

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 kommentarer