Cara Buat Robot Line follower 4 sensor




Teknologi Bissmillah.........

Assalamu'alaikum sahabat steem sea semoga kita semua di limpahkan rezeki dan selalu dalam keadaan sehat wal'afiat, bagi sahabat yang kurang sehat jangan lupa istirahat dan perbanyak minum air putih, dan satu lagi semoga kita semua selalu di lindungi dari virus corona yang lagi mewabah sekarang.

Kali ini Kita masih membahas tentang tutorial tutorial lagi semoga terhibur dan bermanfaat, jadi karna itu mari kita langsung saja.

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.

Screenshot (584).png

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.

Kebutuhan Hardware :

  • 4 Sensor Inframerah (Sensor baca garis)
  • Modul komparator (LM324)
  • Driver Motor L298
  • 2 Motor DC
  • 2 Roda belakang
  • 1 Roda depan (Roda bebas)
  • 6 Baterai AA + Baterai holder
  • Modul Arduino UNO

Screenshot (585).png

Diagram Blok:

Screenshot (586).png

Schematics

Screenshot (587).png

Untuk mempermudah pemahaman bisa kita lihat tabel dibawah ini:

Kondisi Infrared membaca warna ------------- | PWM Motor

IR1IR2IR3IR4Kanan (EA)Kiri (EB)
HitamPutihPutihPutih0255
PutihHitamPutihPutih80220
HitamHitamPutihPutih100200
PutihHitamHitamPutih230230
PutihPutihHitamPutih200100
PutihPutihPutihHitam2200
PutihPutihHitamHitam2550

Semakin besar nilai PWM maka kecepatan putaran motor semakin cepat.

Koneksi Driver L298:

Pin L298Pin ARDUINO
IN1Pin 6
IN2Pin 7
IN3Pin 8
IN4Pin 9
ENAPin 10
ENBPin 11
Out 1+ M1
Out 2- M1
Out 3+ M2
Out 4- M2

Koneksi LM324:

PIN LM324Pin ARDUIN
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

const int IR1 = 2;
const int IR2 = 3;
const int IR3 = 4;
const int IR4 = 5;
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);
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. Buat desain robot sendiri sesuai keinginan, untuk koneksinya silahkan disesuaikan seperti pada rangkaian/skematik.
  2. Siapkan line/jalur lintasan menggunakan lakban hitam (lebar lakban = 3,5cm) dengan background / lantai dasar warna putih, bentuk bebas namun hindari sudut lintasan Siku 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. alankan 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 Teman-teman ubah nilai masing masing output PWM-nya (analogWrite).

Nah jadi itulah Tutorial pada kali ini semoga bermanfa'at, Kalau ada yang ragu atau atau terdapat kesalahan pada tutorial bisa komendi bawah kita diskusi di kolom komentar, sekian dulu hormat saya Zakky Rakhmad wassalam.

Ingin Lebuh Banyak tau dan membaca topik menarik lainnya bisa klik pada bagian daftar isi atau klik pada tombol berikut.

**Terimasih telah berkunjung semoga dapat menambah wawasan kita bersama, untuk dukungan teman-teman bisa berdonasi pada link berikut (Klik Dini) Sebanyak apapun donasi dari teman-teman itu sangat berarti bagi kami dan juga kalau ada dari teman-teman yang ingin mengajukan pertanyaan atau request tema seputar teknologi bisa langsung saja tulis pada kolom pesan di link donasi yang sudah ter sedia.**


EmoticonEmoticon