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:
Read More

Program Arduino Blinking LED


Langkah untuk membuat blinking LED, telah dibahas sedikit di pembahasan sebelumnya menggunakan satu buah LED. Maka pada bab ini akan dibahas blinking LED menggunakan lebih dari satu LED. Tahapan pembuatan blinking LED adalah sebagai berikut:








Gambar 1 Desain blinking LED menggunakan Fritzing.


Gambar 2 Simulasi Proteus blinking LED menggunakan Arduino

21. Hubungkan Arduino ke komputer dengan kabel USB.
32. Buka software Arduino, dan ketik program berikut:
//Mendefinisikan pin

int merah = 13;
int kuning = 12;
int hijau = 11;
int biru = 10;

void setup()
// mendefinisikanmode pin sebagai output
{
  pinMode(merah, OUTPUT);
  pinMode(kuning,OUTPUT);
  pinMode(hijau,OUTPUT);
  pinMode(biru,OUTPUT);
}

void loop()
{
  digitalWrite(merah, HIGH); // merah menyala
  digitalWrite(kuning,HIGH); //kuning menyala
  digitalWrite(hijau,LOW); //hijau mati
  digitalWrite(biru,LOW);  //biru mati
  delay(1000); //selama 1 detik
  digitalWrite(merah, LOW); //merah mati
  digitalWrite(kuning,LOW); //kuning mati
  digitalWrite(hijau,HIGH); //hijau menyala
  digitalWrite(biru,HIGH);  //biru menyala
  delay(1000); //selama 1 detik
}

43. Pilih Board dan Serial PORT yang digunakan di menu Tools.
54. Tekan tombol Vverify dipojok kiri toolbar.
65. Setelah muncul pesan “Done Compiling”, selanjutnya tekan tombol Upload yang ada di kanan tombol Verify.
76.Setelah muncul pesan “Done Uploading”, kita dapat menguji program tersebut dengan melihat LED, dimana LED merah dan kuning akan menyala dan LED hijau dan biru mati selama satu detik, kemudian akan berganti LED merah dan kuning akan mati sedangkan LED hijau dan biru menyala selama satu detik, dan seterusnya hingga power dilepas.


Gambar 3. LED menyala secara bergantian.
Share:
Read More