Hur man gör en enkel robot

Hur man gör en enkel 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. Förstå konceptet med enkla robotar

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 sensorn läser av avståndet framför roboten och avståndet är för nära, kommer Arduino att beordra motordrivaren att ändra rörelseriktning, till exempel att svänga höger eller vänster.

2. Verktyg och material som behövs

Här är listan 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

Om du vill ha något ännu enklare (utan ultraljudssensorer) kan du bygga en "linjeföljarrobot" med linjesensorer, men versioner som undviker hinder känns ofta mer "levande" eftersom de reagerar på föremål framför sig.

3. Utformning av robotchassit

Chassit är ramen som alla komponenter är monterade på. Du kan använda ett färdigt chassikit eller bygga ditt eget av lättviktsmaterial som akryl, PVC eller tunt trä. Principen är:

– Pasang dua motor DC di sisi kiri dan kanan.
– Montera hjulen på motorcykeln.
– Tambahkan caster wheel sebagai penyeimbang agar robot stabil.
– Placera batteriet i en position som inte gör att roboten lutar.
– Arduino och motordrivrutiner bör placeras högst upp för enkel åtkomst.

Se till att kabeln inte hänger ner så att den inte fastnar i hjulen.

4. Grundläggande kopplingsschema

Här är ett generellt anslutningskoncept (stiften är anpassningsbara):

a) Motor till drivning L298N
– Motor kiri ke output OUT1 dan OUT2
– Motor kanan ke output OUT3 dan OUT4

b) L298N-drivrutin till Arduino
– IN1, IN2 för vänster motor till vissa digitala Arduino-pinnar
– IN3, IN4 för höger motor till vissa digitala Arduino-pinnar
– ENA och ENB (enable) kan anslutas till Arduinos PWM-pinnar för att styra hastigheten (valfritt). Om inte, har vissa L298N-moduler redan en enable-jumper som gör att motorn kan köras med full hastighet.

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

d) Kraft
Motorn kräver mer ström än vad Arduino kan ge. Därför:
– Huvudbatteriet går till motordrivaren (+12V- och GND-terminalerna på L298N).
– Arduino kan även drivas från batteri (via VIN) eller separat powerbank/USB.
– Satukan ground : GND baterai/driver dan GND Arduino harus terhubung agar sinyal kontrol stabil.

Det vanligaste misstaget bland nybörjare är att glömma att koppla ihop GND, så roboten rör sig oregelbundet.

5. Arbetslogiken hos hinderundvikningsroboten

Robot akan bekerja dengan alur sederhana:

1. Läs av avståndet från ultraljudssensorn.
2. Om avståndet är större än tröskelvärdet (t.ex. 20 cm) rör sig roboten framåt.
3. Om avståndet är ≤ 20 cm stannar roboten kort.
4. Roboten rör sig lite bakåt och vrider sig sedan (till exempel åt höger) i några hundra millisekunder.
5. Läs av avståndet igen och upprepa.

Med detta mönster kommer roboten att verka "undvika" hinder, även om den inte väljer den mest optimala vägen.

6. Enkelt Arduino-kodexempel

Nedan följer ett grundläggande kodexempel. Du kan anpassa stiften så att de passar din krets:

"`cpp
definiera TRIG 8
definiera ECHO 9

// Vänster motor
definiera IN1 2
definiera IN2 3

// Höger motor
definiera IN3 4
definiera IN4 5

lång varaktighet;
int avstånd;

int läsAvstånd() {
digitalWrite(TRIG, LÅG);
delayMicroseconds(2);
digitalWrite(TRIG, HÖG);
delayMicroseconds(10);
digitalWrite(TRIG, LÅG);

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

void forward() {
digitalWrite(IN1, HÖG);
digitalWrite(IN2, LÅG);
digitalWrite(IN3, HÖG);
digitalWrite(IN4, LÅG);
}

void omvänd() {
digitalWrite(IN1, LÅG);
digitalWrite(IN2, HÖG);
digitalWrite(IN3, LÅG);
digitalWrite(IN4, HÖG);
}

void svängHöger() {
digitalWrite(IN1, HÖG);
digitalWrite(IN2, LÅG);
digitalWrite(IN3, LÅG);
digitalWrite(IN4, HÖG);
}

void stopp() {
digitalWrite(IN1, LÅG);
digitalWrite(IN2, LÅG);
digitalWrite(IN3, LÅG);
digitalWrite(IN4, LÅG);
}

ogiltig installation () {
pinMode(TRIG, UTGÅNG);
pinMode(ECHO, INPUT);

pinMode(IN1, UTGÅNG);
pinMode(IN2, UTGÅNG);
pinMode(IN3, UTGÅNG);
pinMode(IN4, UTGÅNG);

Serial.begin (9600);
}

ogiltig slinga () {
avstånd = läsAvstånd();
Seriell.println(avstånd);

om (avstånd > 20) {
fortsätta();
} Else {
stopp();
fördröjning (200);
motsatt();
fördröjning (300);
stopp();
fördröjning (200);
sväng höger();
fördröjning (400);
stopp();
}

fördröjning (50);
}
”'

Denna kod är den mest grundläggande versionen. Om roboten kraschar för ofta kan du öka tröskeln till 25–30 cm eller öka vändtiden.

7. Testning och finjustering

När roboten är monterad, utför steg-för-steg-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.

Om roboten roterar eller rör sig bakåt när den borde röra sig framåt, kan du behöva byta motorkablarna eller kasta om logiken för IN1-IN2 (och IN3-IN4).

8. Vanliga problem och lösningar

Några hinder som ofta uppstå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. Utvecklingsidéer efter framgång

När den grundläggande roboten är igång kan du uppgradera den till något mer intressant:

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

slutsats

Att bygga en enkel robot behöver inte vara svårt. Med en Arduino, en likströmsmotor, en motordrivare och en ultraljudssensor kan du skapa en robot som kan röra sig och undvika hinder automatiskt. Nycklarna till framgång är snygg kabeldragning, tillräckliga resurser och noggrann testning. När du väl har lyckats med det här projektet är du bättre förberedd att ta itu med mer komplexa robotprojekt, som en kamerabaserad smart robot eller en som kan följa objekt.

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

Lämna en kommentar