Robotik & Hardware, ELrolumNews — Anda sudah bisa menyalakan LED, membaca sensor, bahkan membuat smart home. Tapi ada satu proyek robotik yang wajib dicoba oleh setiap pemula: robot pengikut garis (line follower).
Artikel ini cocok untuk: Anda yang sudah familiar dengan dasar Arduino dan ingin membuat proyek robotik pertama yang benar-benar bergerak—bukan sekadar LED berkedip.
Robot pengikut garis adalah robot yang bisa mengikuti garis—biasanya garis hitam di atas permukaan putih—secara otomatis. Ia membaca garis dengan sensor inframerah, lalu menggerakkan motor kiri dan kanan untuk tetap berada di atas garis .
Kabar baiknya: robot ini bisa dibuat dengan biaya di bawah Rp300 ribu—dan semua komponennya mudah didapat. Di artikel ini, kita akan bahas dari nol: komponen, wiring, kode program, hingga tips agar robot Anda bergerak mulus.
Komponen yang Dibutuhkan
| Komponen | Fungsi | Perkiraan Harga |
|---|---|---|
| Arduino Uno / Nano | Mikrokontroler | Rp80-150 ribu |
| Sensor IR (TCRT5000) | Mendeteksi garis | Rp15-30 ribu (2 buah) |
| Driver Motor L298N | Mengontrol motor | Rp30-50 ribu |
| Motor DC + Roda | Penggerak | Rp50-100 ribu |
| Chassis + Ball Caster | Rangka robot | Rp50-100 ribu |
| Baterai (6V-12V) | Power | Rp30-50 ribu |
| Kabel Jumper | Koneksi | Rp10-20 ribu |
💡 Tips Pro: Untuk pemula, mulai dengan 2 sensor IR dulu. Robot dengan 5 sensor memang lebih presisi, tapi 2 sensor sudah cukup untuk memahami konsep dasarnya .
Langkah 1: Memahami Cara Kerja Sensor IR
Sensor IR (TCRT5000) terdiri dari LED inframerah dan fototransistor .
Prinsip Kerja
| Permukaan | Pantulan | Output Sensor |
|---|---|---|
| Putih | Banyak pantulan | HIGH (atau LOW, tergantung modul) |
| Hitam | Sedikit pantulan | LOW (atau HIGH, tergantung modul) |
Catatan penting: Logika output bisa berbeda tergantung modul yang Anda beli. Ada yang output HIGH saat mendeteksi hitam, ada yang LOW saat mendeteksi hitam . Cek dengan LED indikator di modul atau test dengan Serial Monitor.
Langkah 2: Wiring Hardware
2.1 Koneksi Sensor IR ke Arduino
| Sensor IR | Arduino |
|---|---|
| VCC | 5V |
| GND | GND |
| OUT Kiri | Digital Pin 11 |
| OUT Kanan | Digital Pin 12 |
2.2 Koneksi Driver Motor L298N ke Arduino
| L298N | Arduino | Fungsi |
|---|---|---|
| ENA | Pin 5 (PWM) | Kecepatan motor kiri |
| IN1 | Pin 9 | Arah motor kiri |
| IN2 | Pin 10 | Arah motor kiri |
| ENB | Pin 6 (PWM) | Kecepatan motor kanan |
| IN3 | Pin 7 | Arah motor kanan |
| IN4 | Pin 8 | Arah motor kanan |
2.3 Koneksi Motor DC
| Motor | L298N |
|---|---|
| Motor Kiri | OUT1 & OUT2 |
| Motor Kanan | OUT3 & OUT4 |
2.4 Power
Baterai ke VCC L298N (untuk motor)
GND L298N ke GND Arduino (common ground)
5V L298N ke 5V Arduino (opsional, jika L298N punya regulator)
⚠️ Peringatan: Jangan menyalakan motor langsung dari pin Arduino. Motor butuh arus besar—driver motor L298N yang menanganinya .
Langkah 3: Kode Program Dasar (2 Sensor)
Ini kode paling sederhana untuk robot pengikut garis.
Kode
// Pin Sensor IR #define IR_KIRI 11 #define IR_KANAN 12 // Pin Motor Kiri #define ENA 5 #define IN1 9 #define IN2 10 // Pin Motor Kanan #define ENB 6 #define IN3 7 #define IN4 8 // Kecepatan motor (0-255) #define KECEPATAN 150 void setup() { // Sensor sebagai input pinMode(IR_KIRI, INPUT); pinMode(IR_KANAN, INPUT); // Motor sebagai output pinMode(ENA, OUTPUT); pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT); pinMode(ENB, OUTPUT); pinMode(IN3, OUTPUT); pinMode(IN4, OUTPUT); Serial.begin(9600); } void loop() { int bacaKiri = digitalRead(IR_KIRI); int bacaKanan = digitalRead(IR_KANAN); Serial.print("Kiri: "); Serial.print(bacaKiri); Serial.print(" | Kanan: "); Serial.println(bacaKanan); // Logika: sesuaikan dengan sensor Anda // Asumsi: LOW = mendeteksi hitam (garis) if (bacaKiri == LOW && bacaKanan == LOW) { // Kedua sensor di garis → maju maju(); } else if (bacaKiri == LOW && bacaKanan == HIGH) { // Kiri di garis, kanan keluar → belok kiri belokKiri(); } else if (bacaKiri == HIGH && bacaKanan == LOW) { // Kanan di garis, kiri keluar → belok kanan belokKanan(); } else { // Kedua sensor keluar garis → berhenti berhenti(); } delay(50); } // Fungsi Gerakan void maju() { digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW); digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW); analogWrite(ENA, KECEPATAN); analogWrite(ENB, KECEPATAN); } void belokKiri() { digitalWrite(IN1, LOW); digitalWrite(IN2, HIGH); // Motor kiri mundur digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW); // Motor kanan maju analogWrite(ENA, KECEPATAN); analogWrite(ENB, KECEPATAN); } void belokKanan() { digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW); // Motor kiri maju digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH); // Motor kanan mundur analogWrite(ENA, KECEPATAN); analogWrite(ENB, KECEPATAN); } void berhenti() { digitalWrite(IN1, LOW); digitalWrite(IN2, LOW); digitalWrite(IN3, LOW); digitalWrite(IN4, LOW); }
Cara Kerja
| Kondisi Sensor | Aksi Robot |
|---|---|
| Kiri & Kanan di garis | Maju lurus |
| Kiri di garis, Kanan keluar | Belok kiri |
| Kanan di garis, Kiri keluar | Belok kanan |
| Keduanya keluar | Berhenti |
💡 Tips Pro: Jika robot Anda berputar di tempat atau bergerak terbalik, kemungkinan logika sensor terbalik. Ganti
LOWmenjadiHIGHdi kondisiif.
Langkah 4: Kalibrasi Sensor
Setiap sensor IR punya potensiometer untuk mengatur sensitivitas. Kalibrasi sangat penting—tanpa ini, robot akan salah membaca garis .
Cara Kalibrasi
Letakkan robot di atas permukaan putih
Putar potensiometer sensor kiri sampai LED indikator mati
Geser sensor ke atas garis hitam
LED indikator harus menyala
Ulangi untuk sensor kanan
Threshold ideal: Sensor hanya mendeteksi hitam sebagai garis, dan putih sebagai latar belakang.
⚠️ Peringatan: Kalibrasi harus diulang jika Anda mengganti permukaan (misalnya dari kertas ke lantai) atau mengubah ketinggian sensor .
Langkah 5: Naik Level — 5 Sensor + PID (Opsional)
Jika robot 2 sensor sudah berjalan, Anda bisa naik level dengan 5 sensor array dan PID controller untuk gerakan yang lebih mulus .
Mengapa 5 Sensor?
| 2 Sensor | 5 Sensor |
|---|---|
| Hanya tahu “kiri/kanan” | Tahu posisi presisi garis |
| Gerakan patah-patah | Gerakan halus |
| Sulit di tikungan tajam | Bisa tikungan tajam |
Konsep PID (Sederhana)
PID adalah algoritma yang menghitung error (seberapa jauh robot dari garis) dan mengoreksi secara proporsional—bukan sekadar “belok kiri/belok kanan” .
// Contoh sederhana PID error int error = posisiGaris - posisiTarget; int koreksi = Kp * error; // Motor kiri = KECEPATAN + koreksi // Motor kanan = KECEPATAN - koreksi
💡 Tips Pro: Mulai dengan Kp saja (tanpa Ki dan Kd). Naikkan Kp sampai robot mulai berosilasi, lalu turunkan sedikit. Baru tambahkan Kd untuk meredam osilasi .
Troubleshooting: Masalah Umum
| Masalah | Penyebab | Solusi |
|---|---|---|
| Robot tidak bergerak | Motor tidak dapat power | Cek baterai & koneksi L298N |
| Robot berputar di tempat | Logika sensor terbalik | Ganti LOW jadi HIGH |
| Robot keluar garis | Sensor tidak dikalibrasi | Kalibrasi ulang |
| Robot bergerak patah-patah | Kecepatan terlalu tinggi | Turunkan KECEPATAN |
| Satu motor tidak jalan | Wiring salah | Cek IN1-IN4 & ENA/ENB |
Kesalahan Umum dan Cara Menghindarinya
| Kesalahan | Akibat | Solusi |
|---|---|---|
| Tidak kalibrasi sensor | Robot salah baca garis | Kalibrasi sebelum digunakan |
| Motor langsung dari Arduino | Pin rusak | Gunakan driver L298N |
| Tidak common ground | Motor tidak stabil | Hubungkan semua GND |
| Kecepatan maksimal | Robot tidak bisa belok | Mulai dari kecepatan rendah |
Kesimpulan
Membuat robot pengikut garis dengan Arduino bukan proyek yang mustahil. Kuncinya:
Siapkan komponen — Arduino, sensor IR, L298N, motor DC
Wiring dengan benar — sensor ke pin digital, motor ke driver
Upload kode dasar — logika 2 sensor
Kalibrasi sensor — sesuaikan potensiometer
Test dan tuning — turunkan kecepatan jika perlu
Naik level — 5 sensor + PID untuk gerakan mulus
Dengan biaya di bawah Rp300 ribu, Anda sudah bisa membuat robot yang benar-benar bergerak sendiri—sesuatu yang membanggakan untuk proyek pertama .
Ingat: Robot pengikut garis adalah fondasi robotik. Setelah menguasainya, Anda bisa lanjut ke robot penghindar halangan, robot penjejak cahaya, atau robot maze solver .
Sudah siap membuat robot pengikut garis pertama Anda?
💬 Punya proyek line follower? Bagikan di kolom komentar!
(el)





