Mata Kuliah: MKK.10.01.005 — Kecerdasan Buatan & Internet of Things (TW1). Durasi: 120 menit (Tatap Muka). Penyusun: Irfan Yusin Syahrullah.
Tujuan Pembelajaran
- Memahami prinsip kerja driver motor L298N dan rangkaian H-bridge
- Mengendarai dua motor DC untuk arah maju, mundur, dan belok
- Menggunakan PWM untuk mengatur kecepatan motor
- Merakit basis robot sederhana dan mengujinya
Capaian Pembelajaran
Mahasiswa mampu mengendalikan dua motor DC melalui L298N untuk menghasilkan berbagai arah gerak robot.
Konsep Materi
Driver motor L298N berisi dua jembatan-H (H-bridge) yang memungkinkan membalik arah arus melalui motor DC, sehingga arah putaran bisa maju atau mundur. Setiap motor dikontrol oleh dua pin masukan (IN1, IN2) dan satu pin enable untuk PWM.
Untuk motor A, kombinasi logika IN1 dan IN2 menentukan arah: (HIGH,HIGH) rem, (LOW,LOW) berhenti, (HIGH,LOW) maju penuh, dan (LOW,HIGH) mundur. Sementara pin ENA yang menerima PWM mengatur kecepatan.
L298N membutuhkan sumber daya terpisah untuk motor (biasanya baterai atau adaptor) karena arus motor cukup besar dan tidak boleh diambil dari pin ESP32. Pastikan jalur tanah (GND) antara ESP32 dan driver dihubungkan agar sinyal logika terferensi aman.
Driver dapat diberi tegangan logika 5 V melalui jumper atau jalur onboard yang juga menyediakan catu daya 5 V untuk ESP32, namun disarankan memakai sumber terpisah jika motor berdaya besar.
Mengombinasikan dua motor memungkinkan pergerakan robot: keduanya maju untuk lurus, salah satu berputar lebih lambat atau mundur untuk belok, dan keduanya berlawanan untuk berputar di tempat.
Langkah Praktik
- Hubungkan motor A dan B ke terminal OUT1/OUT2 dan OUT3/OUT4 pada driver L298N.
- Sambungkan ENA ke GPIO 14, IN1 ke GPIO 27, IN2 ke GPIO 26 (motor A) dan ENB ke GPIO 12, IN3 ke GPIO 33, IN4 ke GPIO 32 (motor B).
- Hubungkan catu daya motor dan pastikan GND terhubung dengan ESP32.
- Tulis fungsi gerak maju, mundur, belok kiri, dan berhenti, lalu uji satu per satu.
- Gunakan PWM (duty rendah) untuk membuat robot bergerak pelan lalu naikkan kecepatannya.
Kode Contoh
#define ENA 14
#define IN1 27
#define IN2 26
#define ENB 12
#define IN3 33
#define IN4 32
void maju() {
digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW);
analogWrite(ENA, 200); analogWrite(ENB, 200);
}
void berhenti() {
digitalWrite(IN1, LOW); digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW); digitalWrite(IN4, LOW);
}
void setup() {
for (int p : {ENA, IN1, IN2, ENB, IN3, IN4}) pinMode(p, OUTPUT);
}
void loop() {
maju();
delay(2000);
berhenti();
delay(2000);
}
Latihan / Proyek
- Tambah fungsi belok kiri dan kanan yang memanfaatkan perbedaan kecepatan kedua motor.
- Buat robot berjalan mengikuti pola lintasan kotak dan lingkaran sederhana.
- Gabungkan dengan HC-SR04 sehingga robot berhenti atau berbelok saat mendeteksi rintangan.
Rekap & Tindak Lanjut
Mahasiswa memahami prinsip H-bridge dan mampu mengendalikan pergerakan dua motor untuk robot. Kemampuan ini menjadi fondasi membuat robot penghindar rintangan di pertemuan berikutnya.
