Anda di halaman 1dari 7

1 Inkubator teknologi

Robot Line follower


Sistem Kerja Alat:
Robot line follower yaitu robot yang mengikuti line/jalur lintasan, sensor Infrared sebagai
sensor pembaca garis. Sensor infrared (IR) menyala dan dipantulkan oleh media/lantai putih
kemudian sensor Photo Diode (PD) membaca pantulan tersebut, sedangkan pada
permukaan hitam (lakban hitam) infrared tidak dipantulkan sehingga sensor tidak membaca
adanya pantulan infrared. Output sensor masuk pada IC LM324/komparator yang berfungsi
sebagai penentu nilai/logika 1 (+5V) atau logika 0 (GND). Selain itu juga untuk mengatur
respon sensor.

INKUBATEK

Gambar 1 Gambar 2 Gambar 3

Keterangan Gambar:
1. Gambar 1 menunjukkan IR memantul karena media pantulnya putih.
2. Gambar 2 IR tidak memantul karena media pantulnya hitam.
3. Gambar 3
 Ketika IR memantul pada media putih output sensor IR (PD) berlogika 0 (GND)
 IR mengenai warna hitam output IR berlogika 1 (+5V).
Sensor IR sisi kanan untuk menggerakkan motor DC sisi kiri, sedangkan sensor IR sisi kiri
untuk menggerakan motor DC sisi kanan, dan apabila ke-2 sensor membaca garis ke-2
motor akan berputar sehingga robot akan mengikuti garis tersebut. Semakin banyak sensor
pembaca line semakin bagus, nah kali ini 4 sensor saja ya kalau ingin lebih silahkan di desain
sendiri mudah kog.

INKUBATEK

Kebutuhan Hardware :
 4 Sensor Inframerah (Sensor baca garis)
 Modul komparator (LM324)
 Driver Motor L298
2 Inkubator teknologi

 2 Motor DC
 2 Roda belakang
 1 Roda depan (Roda bebas)
 6 Baterai AA + Baterai holder
 Modul Arduino UNO

Photoreflector sensor
Driver L298

INKUBATEK

Roda belakang Roda caster


Motor DC dg Gearbox

Diagram Blok:

Sensor IR 1
Motor
Arduino UNO
Komparator

Sensor IR 2 Driver Kanan


Motor
Sensor IR 3 DC Motor
Kiri
Sensor IR 4

Schematics
3 Inkubator teknologi

INKUBATEK

Pada line follower kali ini kita menggunakan 4 sensor inframerah:

INKUBATEK

Untuk mempermudah pemahaman bisa kita lihat tabel dibawah ini:


Kondisi Infrared membaca warna PWM Motor

IR1 IR2 IR3 IR4 Kanan (EA) Kiri (EB)

Hitam Putih Putih Putih 0 255

Putih Hitam Putih Putih 80 220

Hitam Hitam Putih Putih 100 200

Putih Hitam Hitam Putih 230 230

Putih Putih Hitam Putih 200 100

Putih Putih Putih Hitam 220 0

Putih Putih Hitam Hitam 255 0


4 Inkubator teknologi

Semakin besar nilai PWM maka kecepatan putaran motor semakin cepat.

Koneksi Driver L298:


Pin L298 Pin ARDUINO

IN1 Pin 6
IN2 Pin 7
IN3 Pin 8
IN4 Pin 9
ENA Pin 10
ENB Pin 11
Out 1 + M1
Out 2 - M1
Out 3 + M2
Out 4 - M2

Koneksi LM324:
PIN LM324 Pin ARDUINO

PIN 1 (Out IR 1) Pin 2


PIN 7 (Out IR 2) Pin 3
PIN 8 (Out IR 3) Pin 4
PIN 14 (Out IR 4) Pin 5

Source Code/Sketch :
/*************************************
* Program : Project 100. Robot Line follower
* Input : 4 Sensor IR
* Output : 2 Motor DC
* 125 Proyek Arduino Inkubatek
* www.tokotronik.com
* ***********************************/
const int IR1 = 2;
const int IR2 = 3;
const int IR3 = 4;
const int IR4 = 5;
5 Inkubator teknologi

const int IN1 = 6;


const int IN2 = 7;
const int IN3 = 8;
const int IN4 = 9;
const int EA = 10;
const int EB = 11;

// variables will change:


int inIR1 = 0;
int inIR2 = 0;
int inIR3 = 0;
int inIR4 = 0;

void baca_IR() {
inIR1 = digitalRead(IR1);
inIR2 = digitalRead(IR2);
inIR3 = digitalRead(IR3);
inIR4 = digitalRead(IR4);
}

void setup() {
//------- mode output ke driver motor
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
pinMode(EA, OUTPUT);
pinMode(EB, OUTPUT);
//------- mode input sesnsor
pinMode(IR1, INPUT);
pinMode(IR2, INPUT);
pinMode(IR3, INPUT);
pinMode(IR4, INPUT);
//------ arah motor maju
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
delay(2000);
}

void loop(){
baca_IR();
if (inIR1 == 0 && inIR2 == 0 && inIR3 == 0 && inIR4 == 1) {
analogWrite(EA, 255);
6 Inkubator teknologi

analogWrite(EB, 0);
}
else if (inIR1 == 0 && inIR2 == 0 && inIR3 == 1 && inIR4 == 1) {
analogWrite(EA, 220);
analogWrite(EB, 80);
}
else if (inIR1 == 0 && inIR2 == 0 && inIR3 == 1 && inIR4 == 0) {
analogWrite(EA, 200);
analogWrite(EB, 100);
}
else if (inIR1 == 0 && inIR2 == 1 && inIR3 == 1 && inIR4 == 0) {
analogWrite(EA, 230);
analogWrite(EB, 230);
}
else if (inIR1 == 0 && inIR2 == 1 && inIR3 == 0 && inIR4 == 0) {
analogWrite(EA, 100);
analogWrite(EB, 200);
}
else if (inIR1 == 1 && inIR2 == 1 && inIR3 == 0 && inIR4 == 0) {
analogWrite(EA, 80);
analogWrite(EB, 220);
}
else if (inIR1 == 1 && inIR2 == 0 && inIR3 == 0 && inIR4 == 0) {
analogWrite(EA, 0);
analogWrite(EB, 255);
}
}

Jalannya Alat :
1. Siapkan desain robot seperti contoh gambar dibawah ini, atau anda punya desain sendiri
silahkan digunakan, untuk koneksinya silahkan disesuaikan seperti pada
rangkaian/skematik.

Arduino UNO

IR1
IR2 INKUBATEK
IR3
IR4
7 Inkubator teknologi

2. Siapkan line/jalur lintasan menggunakan lakban hitam (lebar lakban = 3,5cm) dengan
background / lantai dasar warna putih, bentuk bebas namun hindari sudut lintasan 90 0
atau yang lebih lancip.
3. Pasang baterai dan nyalakan robot line follower sehingga lampu LED indikator nyala.
4. Upload program di atas terlebih dahulu.
5. Tes masing masing sensor dengan diberi kertas putih dan hitam, pastikan sensor bisa
membacanya.
6. Jalankan robot pada line yang tadi dibuat.
7. Apabila robot sering keluar lintasan bisa di trim ulang kepekaan sensor IR (trimport VR1
s/d VR4) atau bisa jadi sudut lintasannya terlalu tajam. Bisa juga Anda ubah nilai masing
masing output PWM-nya (analogWrite).

Anda mungkin juga menyukai