Membuat Robot Mobil Penghindar Halangan dengan ESP32 dan Sensor Ultrasonik

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 KomponenJumlahKeterangan
ESP32 Dev Board1Board utama mikrokontroler
Motor Driver L298N1Mengontrol motor DC
Sensor Ultrasonik HC-SR041Untuk deteksi halangan
Motor DC + Roda2Penggerak kiri dan kanan
Caster Wheel1Roda bebas di bagian depan/belakang
Power Bank / Battery Holder 186501Sumber daya
Breadboard kecil & kabel jumperUntuk koneksi
Servo SG90 (opsional)1Untuk memutar sensor ultrasonik
Tempat casing plastik1Sebagai 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

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *