Hoe meitsje jo in ienfâldige 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. Begryp it konsept fan ienfâldige robots
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
As de sensor de ôfstân foar de robot lêst en de ôfstân te lyts is, sil de Arduino de motorbestjoerder opdracht jaan om de rjochting fan beweging te feroarjen, bygelyks rjochts of lofts te draaien.
2. Nedich ark en materialen
Hjir is de list 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
As jo wat noch ienfâldiger wolle (sûnder ultrasone sensoren), kinne jo in "linefolger"-robot bouwe mei linesensoren, mar ferzjes dy't obstakels foarkomme, fiele faak mear "libbend" om't se reagearje op objekten foar har.
3. It ûntwerpen fan it robotchassis
It chassis is it frame wêrop alle ûnderdielen monteard binne. Jo kinne in klearmakke chassis-kit brûke of jo eigen bouwe fan lichtgewicht materialen lykas acryl, PVC of tin hout. It prinsipe is:
– Pasang dua motor DC di sisi kiri dan kanan.
- Ynstallearje de tsjillen op 'e motorfyts.
– Tambahkan caster wheel sebagai penyeimbang agar robot stabil.
– Plak de batterij yn in posysje dy't de robot net kantelt.
– De Arduino en motordrivers moatte boppe pleatst wurde foar maklike tagong.
Soargje derfoar dat de kabel net nei ûnderen hinget, sadat er net yn 'e tsjillen fêst komt te sitten.
4. Basis bedradingsskema
Hjir is in algemien ferbiningskonsept (pinnen binne oanpasber):
a) Motor nei bestjoerder L298N
– Motor kiri ke output OUT1 dan OUT2
– Motor kanan ke output OUT3 dan OUT4
b) L298N-stjoerprogramma nei Arduino
– IN1, IN2 foar linker motor nei guon digitale Arduino-pinnen
– IN3, IN4 foar rjochter motor nei guon digitale Arduino-pinnen
– ENA en ENB (ynskeakelje) kinne ferbûn wurde mei de Arduino PWM-pinnen om de snelheid te kontrolearjen (opsjoneel). As dat net it gefal is, hawwe guon L298N-modules al in ynskeakelje-jumper om de motor op folle snelheid te litten draaie.
c) HC-SR04 Sensor nei Arduino
– VCC nei 5V Arduino
– GND nei GND Arduino
– TRIG nei de digitale pin fan 'e Arduino
– ECHO nei Arduino digitale pin
d) Krêft
De motor hat mear stroom nedich as de Arduino leverje kin. Dêrom:
– De haadbatterij giet nei de motordriver (+12V- en GND-terminals op 'e L298N).
– Arduino kin ek fan in batterij (fia VIN) of in aparte powerbank/USB oandreaun wurde.
– Satukan ground : GND baterai/driver dan GND Arduino harus terhubung agar sinyal kontrol stabil.
De meast foarkommende flater ûnder begjinners is ferjitten om de GND yninoar te setten, sadat de robot ûnregelmjittich beweecht.
5. De wurklogika fan 'e robot foar it foarkommen fan obstakels
Robot akan wurkje mei alur sederhana:
1. Lês de ôfstân fan 'e ultrasone sensor ôf.
2. As de ôfstân grutter is as de drompel (bygelyks 20 sm), beweecht de robot foarút.
3. As de ôfstân ≤ 20 sm is, stoppet de robot efkes.
4. De robot beweecht in bytsje tebek en draait dan (bygelyks nei rjochts) foar in pear hûndert millisekonden.
5. Lês de ôfstân nochris ôf en werhelje dit.
Mei dit patroan sil it lykje as oft de robot obstakels "ûntwykt", sels as er net it meast optimale paad kiest.
6. Ienfâldich Arduino-koadefoarbyld
Hjirûnder is in foarbyld fan in basiskoade. Jo kinne de pinnen oanpasse oan jo sirkwy:
"'cpp
definiearje TRIG 8
definiearje ECHO 9
// Linker motor
definiearje IN1 2
definiearje IN2 3
// Rjochter motor
definiearje IN3 4
definiearje IN4 5
lange doer;
int ôfstân;
int lêsOfstân() {
digitalWrite(TRIG, LOW);
delayMicroseconds(2);
digitalWrite(TRIG, HEGE);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
doer = pulseIn(ECHO, HIGH);
int cm = durasi 0.034 / 2;
werom cm;
}
leechte foarút() {
digitalWrite(IN1, HEGE);
digitaalWrite(IN2, LOW);
digitalWrite(IN3, HEGE);
digitaalWrite(IN4, LOW);
}
void omkearde() {
digitaalWrite(IN1, LOW);
digitalWrite(IN2, HEGE);
digitaalWrite(IN3, LOW);
digitalWrite(IN4, HEGE);
}
void rjochtsôfslaan() {
digitalWrite(IN1, HEGE);
digitaalWrite(IN2, LOW);
digitaalWrite(IN3, LOW);
digitalWrite(IN4, HEGE);
}
leechte stop() {
digitaalWrite(IN1, LOW);
digitaalWrite(IN2, LOW);
digitaalWrite(IN3, LOW);
digitaalWrite(IN4, LOW);
}
lege opset () {
pinMode(TRIG, ÚTVOER);
pinMode(ECHO, YNFIER);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
Serial.begin (9600);
}
leechte loop () {
ôfstân = lêsôfstân();
Serial.println(ôfstân);
as (ôfstân > 20) {
trochgean();
} Else {
ophâlde();
fertraging (200);
omkeare();
fertraging (300);
ophâlde();
fertraging (200);
gean rjochts();
fertraging (400);
ophâlde();
}
fertraging (50);
}
""
Dizze koade is de meast basale ferzje. As de robot te faak crasht, kinne jo de drompel ferheegje nei 25-30 sm of de draaitiid ferheegje.
7. Testen en ôfstimmen
Sadree't de robot yninoar set is, fier dan stap-foar-stap testen út:
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.
As de robot efterút draait of beweecht wylst er foarút moatte, moatte jo miskien de motorkabels omwikselje of de IN1-IN2 (en IN3-IN4) logika omkeare.
8. Faak foarkommende problemen en oplossingen
Guon obstakels dy't faak ûntsteane:
– 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. Untwikkelingsideeën nei sukses
As de basisrobot ienris oan 'e gong is, kinne jo it opwurdearje nei wat ynteressanters:
– 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.
Konklúzje
It bouwen fan in ienfâldige robot hoecht net dreech te wêzen. Mei in Arduino, in DC-motor, in motordriver en in ultrasone sensor kinne jo in robot meitsje dy't automatysk kin bewege en obstakels ûntwike. De kaaien ta sukses binne nette bedrading, foldwaande middels en yngeande testen. As jo dit projekt ienris goed dien hawwe, sille jo better taret wêze om kompleksere robotikaprojekten oan te pakken, lykas in kamera-basearre tûke robot of ien dy't objekten folgje kin.
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”.