INKUBATEK
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
Diagram Blok:
Sensor IR 1
Motor
Arduino UNO
Komparator
Schematics
3 Inkubator teknologi
INKUBATEK
INKUBATEK
Semakin besar nilai PWM maka kecepatan putaran motor semakin cepat.
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
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
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).