Sabtu, 06 Februari 2016

Robot Line Follower Digital Menggunakan Arduino (Simple Robot Line Tracking Arduino)



Skema Lengkap Line follower Digital IC Komparator

Pada skema lengkap robot line follower didesain dengan posisi sensor di atas permukaan putih. Dua buah sistem sensor di pasang pada pin Analog Input A0 dan A1, sedangkan sistem actuator motor DC dipasang pada Port 9 dan 6 untuk motor kiri, PORT 5 dan 3 untuk motor kanan. Prinsip kerja robot line follower berikut adalah saat sistem sensor berada di atas permukaan putih, akan ada pantulan cahaya dari LED yang akan mengenai sensor cahaya LDR sehingga resistansi sensor LDR berkurang sehingga arus bergerak melalui LDR. Kondisi tersebut menyebabkan arus output sensor menuju IC komparator LM 393 menjadi minimum, oleh IC LM 393, arus di non-inverting sehingga output menuju pin Arduino menjadi LOW (0). Sebaliknya, saat sistem sensor berada di atas garis hitam, tidak akan ada pantulan cahaya dari LED yang akan mengenai sensor cahaya LDR sehingga resistansi sensor LDR sangat besar sehingga arus tidak akan melalui LDR. Kondisi tersebut menyebabkan arus output sensor menuju IC komparator LM 393 menjadi maksimum, oleh IC LM 393, arus di non-inverting sehingga output menuju pin Arduino menjadi HIGH (1). Oleh Arduino data logika pin tersebut kemudian diolah untuk mengerakan motor, motor akan bergerak jika kedua pin motor tersebut memiliki beda polaritas. Selengkapnya mengenai logika gerak robot dapat dilihat pada Tabel 1 dan 2.

Tabel 21Kondisi Gerak Motor dan pengaruh Sensor
Kondisi
A0 = 0
A0 =1
A1 = 0
Maju
Belok Kiri
A1 = 1
Belok Kanan
Mundur

Tabel 2 Kondisi Gerak Motor dan Kondisi Logika Tiap Pin Motor
Kondisi
PORT 9
PORT 6
PORT 5
PORT 3
Maju
LOW
HIGH
LOW
HIGH
Belok Kiri
HIGH
LOW
LOW
HIGH
Belok Kanan
LOW
HIGH
HIGH
LOW
Mundur
HIGH
LOW
HIGH
LOW
 Gambar 1 Desain simulasi Proteus robot line follower digital

Gambar 1 adalah desain lengkap robot line follower digital dengan dua sensor cahaya dan komparator menggunakan board Arduino Uno. Sensor cahaya dihubungkan pada PORT Analog Input A0 dan A1 board Arduino, sedangkan input motor driver IC L293D terhubung dengan PORT yaitu 9, 6, 5, dan 3 Board Arduino.

Membuat Program Robot Line Follower Digital Menggunakan IDE Arduino

1    Susun rangkaian robot line follower digital menggunakan dua buah sensor seperti gambar berikut:

Gambar 2 Desain Fritzing rangkaian robot line follower digital

1. Hubungkan Arduino ke komputer dengan kabel USB.   
2. Buka software Arduino, dan ketik program berikut:

//ROBOT LINE FOLLOWER DIGITAL
//DILENGKAPI LCD DAN KOMUNIKASI SERIAL

#include
LiquidCrystal lcd(13,12,11,10,8,7);
int kiriA = 9;
int kiriB = 6;
int kananA = 5;
int kananB = 3;

void setup()
{
  lcd.begin(16,2);
  Serial.begin(9600);
  pinMode(kiriA,OUTPUT);
  pinMode(kiriB,OUTPUT);
  pinMode(kananA,OUTPUT);
  pinMode(kananB,OUTPUT);
  pinMode(A0,INPUT);
  pinMode(A1,INPUT);

}

void loop()
{
  int kiri = digitalRead(A0);
  int kanan = digitalRead(A1);

 //HIGH=hitam, LOW=putih

  if ((kiri==HIGH)&&(kanan==LOW))
  {
    digitalWrite(kiriA,HIGH);
    digitalWrite(kiriB,LOW);
    digitalWrite(kananA,LOW);
    digitalWrite(kananB,HIGH);

    //LCD Program
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print("i=hitam a=putih");
    lcd.setCursor(0,1);
    lcd.print("BELOK KIRI");

    //Serial Program
    Serial.println("Sensor Kiri Hitam & Sensor Kanan Putih");
    Serial.println("BELOK KIRI");
  }
  else if ((kiri==LOW)&&(kanan==HIGH))
  {
    digitalWrite(kiriA,LOW);
    digitalWrite(kiriB,HIGH);
    digitalWrite(kananA,HIGH);
    digitalWrite(kananB,LOW);
    //LCD Program
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print("i=putih a=hitam");
    lcd.setCursor(0,1);
    lcd.print("BELOK KANAN");

    //Serial Program
    Serial.println("Sensor Kiri Putih & Sensor Kanan Hitam");
    Serial.println("BELOK KANAN");
  }
  else if ((kiri==HIGH)&&(kanan==HIGH))
  {
    digitalWrite(kiriA,HIGH);
    digitalWrite(kiriB,LOW);
    digitalWrite(kananA,HIGH);
    digitalWrite(kananB,LOW);
    //LCD Program
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print("i=hitam a=hitam");
    lcd.setCursor(0,1);
    lcd.print("MUNDUR");

    //Serial Program
    Serial.println("Sensor Kiri Hitam & Sensor Kanan Hitam");
    Serial.println("MUNDUR");
  }

  else
  {
    digitalWrite(kiriA,LOW);
    digitalWrite(kiriB,HIGH);
    digitalWrite(kananA,LOW);
    digitalWrite(kananB,HIGH);
    //LCD Program
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print("i=putih a=putih");
    lcd.setCursor(0,1);
    lcd.print("MAJU");

    //Serial Program
    Serial.println("Sensor Kiri Putih & Sensor Kanan Putih");
    Serial.println("MAJU");
  }

}

3. Pilih Board dan Serial PORT yang digunakan di menu Tools. 
4. Tekan tombol Verify dipojok kiri toolbar. Setelah muncul pesan “Done Compiling”, selanjutnya tekan tombol Upload yang ada di kanan tombol Verifysampai muncul pesan “Done Uploading”
.
Gambar 3 Output program robot line follower menggunakan Arduino Uno

Saat kedua sensor berada dipermukaan putih maka robot akan bergerak maju, jika sensor kiri berada diatas garis hitam sedangkan sensor kanan di permukaan putih maka robot akan berbelok ke kiri, begitupula saat jika sensor kanan berada diatas garis hitam sedangkan sensor kiri di permukaan putih maka robot akan berbelok ke kanan, sehingga robot akan senantiasa berada menelusuri garis hitam.

Bentuk Robot Line Follower Digital Berbasis Sensor Cahaya

Gambar 4 Bentuk jadi robot line follower menggunakan Mikrokontroler Arduino
Share:

4 komentar:

  1. gan , untuk yang op-amp di proteus keywordnya apa?

    BalasHapus
  2. Maaf saya mau bertanya kalo koding untuk membuat robot maju jika kedua sensor mendeteksi hitam dan berhenti jika mendeteksi putih, dengan ketentuan hitam = LOW putih = HIGH. Gimana cara buatnya?

    BalasHapus
  3. pak mada saya mau tanya gimana cara download matlab dan instal matlab ???

    BalasHapus