Pelajari cara membuat robot mobil penghindar halangan menggunakan ESP32, sensor ultrasonik HC-SR04, dan motor DC. Panduan lengkap dari alat, wiring, hingga kode program.
Robotik merupakan salah satu bidang menarik dalam dunia teknologi dan pendidikan. Salah satu proyek populer adalah robot mobil penghindar halangan. Dengan kemampuan untuk mendeteksi objek di depannya dan berbelok secara otomatis, proyek ini sangat cocok untuk pemula maupun siswa sekolah dasar dan menengah yang ingin belajar mikrokontroler menggunakan ESP32.
Alat dan Bahan:
Nama Komponen | Jumlah | Keterangan |
---|---|---|
ESP32 Dev Board | 1 | Board utama mikrokontroler |
Motor Driver L298N | 1 | Mengontrol motor DC |
Sensor Ultrasonik HC-SR04 | 1 | Untuk deteksi halangan |
Motor DC + Roda | 2 | Penggerak kiri dan kanan |
Caster Wheel | 1 | Roda bebas di bagian depan/belakang |
Power Bank / Battery Holder 18650 | 1 | Sumber daya |
Breadboard kecil & kabel jumper | – | Untuk koneksi |
Servo SG90 (opsional) | 1 | Untuk memutar sensor ultrasonik |
Tempat casing plastik | 1 | Sebagai body robot |
Cara Pemasangan (Wiring):
1. Motor Driver L298N ke ESP32

- IN1 → GPIO 14
- IN2 → GPIO 27
- IN3 → GPIO 26
- IN4 → GPIO 25
- ENA dan ENB → 5V
- GND → GND ESP32
- VCC → 5V dari power bank
2. Motor DC Gearbox ke Driver

- Motor kiri → OUT1 & OUT2
- Motor kanan → OUT3 & OUT4
3. Ultrasonik HC-SR04 ke ESP32

- VCC → 5V
- GND → GND
- Trig → GPIO 4
- Echo → GPIO 2
4. (Opsional) Servo ke ESP32

- Sinyal → GPIO 13
- VCC dan GND → 5V dan GND
Kode Program ESP32:
Gunakan Arduino IDE dengan board ESP32 yang sudah diinstal. Berikut contoh program dasar:
#define trigPin 4
#define echoPin 2
#define in1 14
#define in2 27
#define in3 26
#define in4 25
long duration;
int distance;
void setup() {
Serial.begin(115200);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
}
void loop() {
// Kirim pulsa ke trigPin
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Baca hasil dari echoPin
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
Serial.println(distance);
if (distance < 20) {
// Mundur dan belok
mundur();
delay(300);
belokKanan();
delay(300);
} else {
maju();
}
delay(100);
}
void maju() {
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
}
void mundur() {
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
}
void belokKanan() {
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
}
Kesimpulan:
Proyek robot mobil penghindar halangan dengan ESP32 ini bukan hanya menyenangkan, tetapi juga sangat edukatif. Dengan menggabungkan logika pemrograman dan pemahaman elektronik dasar, kamu dapat membuat robot yang bisa bereaksi terhadap lingkungannya. Cocok sebagai proyek pembelajaran, lomba, atau hobi pribadi.
Tags:
ESP32, robotik, sensor ultrasonik, motor DC, robot penghindar halangan, L298N, Arduino ESP32, proyek pemula, robot anak-anak, microcontroller, edukasi teknologi