Skip to main content

Edge Avoider Robot

Perkenalan

Docs Version Dropdown

Kali ini kita akan membuat robot yang tidak bisa jatuh dari meja.

Bagaimana caranya?

Kita akan menggunakan dua buah sensor jarak yang terpasang pada sisi kanan dan sisi kiri robot untuk mendeteksi tepi meja. Apabila sensor jarak mendeteksi jarak kurang dari 10 Cm, maka sensor dinyatakan sedang berada di atas meja.

Namun apabila sensor jarak mendeteksi jarak lebih dari 10 Cm, maka sensor dinyatakan sedang berada pada tepi meja.

Apabila sensor dinyatakan sedang berada pada tepi meja, maka robot akan bergerak mundur kemudian berbelok ke kanan atau ke kiri tergantu sisi sensor mana yang tidak berada di atas meja.

Mari kita langsung merangkai untuk melihat langsung bagaimana cara kerjanya.

Alat dan Komponen yang diperlukan

  • Obeng Plus

Petunjuk Merakit

◼️ Merakit Komponen Utama

▪️ Memasang Dudukan Motor ke Rangka Utama

  1. Siapkan dua buah Dudukan Motor dan Rangka Utama seperti pada gambar di bawah ini.

    Ultrasonic SensorsUltrasonic Sensors

  2. Kemudian ambil salah satu dari dudukan motor. Kita akan memasang untuk sisi kiri terlebih dahulu. Pasangkan dudukan motor pada rangka utama dengan posisi seperti pada gambar di bawah ini.

    Ultrasonic SensorsUltrasonic Sensors

  3. Selanjutnya kita akan memasang untuk sisi kanan. Pasangkan dudukan motor pada rangka utama dengan posisi seperti pada gambar di bawah ini.

    Ultrasonic SensorsUltrasonic Sensors

▪️ Memasang Motor Kiri

  1. Setelah kedua dudukan motor terpasang, selanjutnya kita akan memasang motor kiri. Siapkan terlebih dahulu motor DC seperti ditunjukkan pada gambar di bawah ini.

    Ultrasonic Sensors
    Sebelumnya, pastikan titik tengah pada motor DC seperti yang ditunjuk oleh tanda panah di bawah ini menghadap atas.Ultrasonic Sensors

  2. Kemudian masukkan baut panjang pada lubang sebelah kanan pada Motor DC seperti ditunjukkan pada gambar di bawah.

    Ultrasonic SensorsUltrasonic Sensors

  3. Masukkan baut panjang pada lubang sebelah kiri pada Motor DC seperti ditunjukkan pada gambar di bawah.

    Ultrasonic SensorsUltrasonic Sensors

  4. Selanjutnya, kita akan mengencangkan Motor DC pada Dudukan Motor menggunakan baut panjang yang telah kita pasang tadi. Sejajarkan ujung baut panjang pada lubang yang tersedia pada Dudukan Motor DC seperti ditunjukkan pada gambar di bawah ini.

    Ultrasonic SensorsUltrasonic Sensors

  5. Selanjutnya, kita akan mengencangkan Motor DC pada Dudukan Motor menggunakan baut panjang yang telah kita pasang tadi. Sejajarkan ujung baut panjang pada lubang yang tersedia pada Dudukan Motor DC seperti ditunjukkan pada gambar di bawah ini.

    Ultrasonic SensorsUltrasonic Sensors

  6. Setelah ujung baut panjang sejajar dengan lubang pada Dudukan Motor DC, kencangkan kedua baut tersebut dengan obeng seperti pada gambar di bawah ini.

    Ultrasonic SensorsUltrasonic Sensors

    Setelah dikencangkan, Motor DC akan tetap diam pada Dudukan Motor seperti pada gambar di bawah ini.

    Ultrasonic Sensors

▪️ Memasang Motor Kanan

  1. Selanjutnya, kita akan memasang Motor DC pada dudukan kanan. Langkah-langkahnya sama seperti memasang Motor DC kiri sebelumnya. Setelah Motor DC kanan terpasang, hasil akhirnya akan seperti pada gambar di bawah ini.

    Ultrasonic SensorsUltrasonic Sensors

▪️ Memasang Roda Bebas

  1. Langkah berikutnya, kita akan memasang roda bebas, yakni roda yang bebas bergerak ke arah manapun. Siapkan komponen roda bebas seperti yang ditunjukkan pada gambar di bawah.

    Ultrasonic Sensors

  2. Kemudian kita akan memasang roda bebas tersebut pada sisi bawah rangka utama. Perhatikan baik-baik gambar di bawah.

    Ultrasonic Sensors

    Sejajarkan lubang yang terdapat pada roda bebas dengan lubang yang terdapat pada bagian bawah rangka utama seperti yang ditunjuk oleh tanda panah di bawah.

    Ultrasonic SensorsUltrasonic Sensors

    Kencangkan roda bebas dengan baut seperti ditunjuk pada gambar di bawah.

    Ultrasonic Sensors

  3. Maka hasil akhirnya akan seperti pada gambar di bawah. Bagian depan rangka utama akan tampak naik karena terdapat roda bebas di bawahnya.

    Ultrasonic Sensors

▪️ Memasang Ban

  1. Selanjutnya kita akan memasang ban pada Motor DC. Siapkan dua buah ban Motor DC seperti pada gambar di bawah.

    Ultrasonic Sensors

  2. Kita akan memasang ban nya pada poros Motor DC yang berwarna putih.

    Ultrasonic Sensors
    Namun sebelum itu, perhatikan terlebih dahulu kalau terdapat bentuk yang unik antara poros Motor DC dan poros Ban. Pastikan antara poros Motor DC dan poros Ban sudah sejajar seperti ditandai pada gambar di bawah ini.Ultrasonic Sensors
    Setelah sejajar, doronglah Ban tersebut ke poros Motor DC secara perlahan.Ultrasonic Sensors

  3. Lakukanlah hal yang sama untuk ban sebelah kanan. Jika kedua ban sudah terpasang, maka hasilnya akan seperti pada gambar di bawah ini.

    Ultrasonic Sensors

▪️ Memasang Driver Motor

  1. Selanjutnya kita akan memasang Driver Motor pada rangka utama. Siapkan 4 buah spacer kertas dan Driver Motor L298N seperti pada gambar di bawah ini.

    Ultrasonic SensorsUltrasonic Sensors

  2. Bukalah baut yang sebelumnya masih terpasang pada spacer kertas. Kemudian pasang keempat spacer kertas tersebut pada keempat lubang yang terdapat pada Driver Motor L298N. Hasil akhirnya akan seperti pada gambar di bawah ini yang menunjukkan keempat spacer kertas telah terpasang pada Driver Motor L298N.

    Ultrasonic Sensors

  3. Setelah memasang keempat spacer kertas pada Driver Motor L298N, selanjutnya kita akan memasangkannya pada rangka utama. Namun sebelum itu, perhatikan terlebih dahulu keempat posisi lubang pada rangka utama untuk memasang Driver Motor L298N di bawah ini.

    Ultrasonic Sensors
    Tancapkan dan sejajarkan ujung tajam spacer kertas pada keempat lubang tersebut dengan posisi seperti ditunjukkan pada gambar di bawah ini.Ultrasonic Sensors
    Apabila sudah keempat lubang sudah sejajar dengan keempat ujung spacer kertas, tekanlah hingga ujung spacer kertas terbenam sepenuhnya.Ultrasonic Sensors

  4. Hasil akhir apabila Driver Motor L298N telah terpasang pada rangka utama akan seperti pada gambar di bawah ini.

    Ultrasonic Sensors

▪️ Memasang Kotak Baterai

  1. Selanjutnya kita akan memasang kotak baterai pada rangka utama. Siapkan komponen di bawah ini.

    Ultrasonic Sensors

  2. Pada rangka utama terdapat dua buah lubang baut untuk memasang kotak baterai seperti ditunjukkan pada gambar di bawah ini.

    Ultrasonic Sensors
    Sejajarkan dua buah lubang pada rangka utama tersebut dengan dua buah lubang yang terdapat pada kotak baterai.Ultrasonic Sensors
    Kemudian kencangkan dua buah lubang tersebut dengan dua buah baut.Ultrasonic Sensors

  3. Maka hasil akhirnya setelah kotak baterai terpasang akan seperti pada gambar di bawah ini.

    Ultrasonic Sensors

▪️ Memasang Baterai

  1. Selanjutnya kita akan memasang dua buah baterai pada kotak baterai tersebut. Siapkan dua buah baterai seperti pada gambar di bawah ini.

    Ultrasonic Sensors

  2. Kemudian masukkan salah satu baterai ke slot pertama pada kotak baterai. Perhatikan petunjuk pada gambar di bawah. Masukkan baterai dengan kutub negatif masuk terlebih dahulu ke pegas pada kotak baterai.

    Ultrasonic Sensors

    Kemudian tekan hingga baterai masuk sepenuhnya pada slot pertama kotak baterai.

    Ultrasonic Sensors

  3. Lakukan hal yang sama untuk baterai kedua. Masukkan baterai dengan kutub negatif masuk terlebih dahulu menghadap pegas pada kotak baterai seperti ditunjukkan oleh gambar di bawah ini.

    Ultrasonic Sensors

    Kemudian tekan hingga baterai masuk sepenuhnya pada slot kotak baterai.

    Ultrasonic Sensors

  4. Untuk keamanan, sebelum lanjut ke langkah berikutnya, pastikan posisi saklar pada kotak baterai sudah berada pada posisi OFF seperti ditunjukkan pada gambar di bawah ini.

    Ultrasonic Sensors

  5. Beginilah hasil akhirnya apabila kita telah memasang baterai pada kotak baterai.

    Ultrasonic Sensors

▪️ Memasang Arduino Nano

  1. Selanjutnya kita akan memasang Arduino Nano pada rangka utama. Siapkan 4 buah spacer kertas dan Arduino Nano.

    Ultrasonic SensorsUltrasonic Sensors

  2. Pasangkan keempat spacer kertas pada keempat lubang yang terdapat pada Arduino Nano sehingga menjadi seperti pada gambar di bawah ini.

    Ultrasonic Sensors

  3. Setelah keempat spacer kertas dipasang, kita akan memasangkan pada rangka utama. Perhatikan tanda panah pada gambar di bawah ini. Lubang yang ditandai oleh tanda panah putih pada gambar di bawah ini adalah lubang tempat kita memasukkan keempat ujung spacer kertas tadi.

    Ultrasonic Sensors
    Sejajarkan keempat ujung spacer kertas dengan keempat lubang pada rangka utama seperti ditunjukkan pada gambar di bawah ini.Ultrasonic SensorsUltrasonic Sensors

  4. Kemudian tekan keempat spacer kertas hingga bagian putih spacer kertas menyentuh rangka utama seperti pada gambar di bawah ini.

    Ultrasonic SensorsUltrasonic Sensors

▪️ Memasang Sensor Jarak

Karena kita akan memasang dua buah sensor jarak yang terletak pada sisi kiri dan kanan robot, kita akan membaginya segmen ini menjadi dua bagian agar tidak membuat teman-teman bingung dan tercampur.

Sensor Jarak Kiri
  1. Kita akan memasang Sensor Jarak pada dudukan sensor. Siapkan dudukan sensor dengan posisi slot menghadap kanan seperti ditunjukkan oleh tanda panah pada gambar di bawah.

    Ultrasonic Sensors
    Masukkan Sensor Jarak pada dudukan sensor. Ingat, pastikan posisi slot menghadap kanan seperti ditunjukkan oleh tanda panah pada gambar di bawah.
    Ultrasonic Sensors

  2. Selanjutnya siapkan dudukan servo motor seperti pada gambar di bawah ini.

    Ultrasonic Sensors
    Kita akan memasangkan satu buah baut pada lubang seperti yang ditunjuk oleh tanda panah di bawah ini.Ultrasonic Sensors
    Namun, jangan memasang baut tersebut sampai masuk sepenuhnya terlebih dahulu. Masukkan sedikit seperti pada gambar di bawah ini.
    Ultrasonic Sensors
    Selanjutnya ambil Sensor Jarak yang telah terpasang pada dudukan sensor. Posisikan Sensor Jarak terbalik menghadap bawah seperti pada gambar di bawah. Setelah itu masukkan bagian slot dudukan sensor pada baut yang telah kita pasang tadi. Agar lebih jelasnya, perhatikan gambar di bawah ini.
    Ultrasonic Sensors
    Sejajarkan dan luruskan dudukan sensor jarak dengan dudukan servo seperti pada gambar di bawah ini.
    Ultrasonic Sensors
    Setelah sejajar dan lurus seperti pada gambar di atas, kencangkan baut tersebut hingga mencengkeram bagian slot dudukan sensor seperti pada gambar di bawah. Baut tersebut akan membuat dudukan sensor menempel pada dudukan servo motor.
    Ultrasonic Sensors

  3. Selanjutnya, kita akan memasang dua baut pada dudukan servo. Perhatikan lubang yang ditandai oleh tanda panah pada gambar di bawah. Disitulah kita akan memasang dua baut tersebut.

    Ultrasonic SensorsUltrasonic Sensors
    Namun jangan langsung memasukkan sepenuhnya kedua baut tersebut. Masukkan sedikit saja dahulu kedua baut tersebut hingga terlihat sedikit bagian tajam ujung baut seperti ditunjukkan oleh tanda panah pada gambar di bawah.Ultrasonic Sensors

  4. Selanjutnya, kita akan memasangnya pada rangka utama. Perhatikan dua buah lubang yang ditandai oleh tanda panah pada gambar di bawah ini. Masih ingat bagian tajam ujung baut yang ditunjukkan oleh dua tanda panah hitam pada langkah 34 tadi? Kita akan memasukkan kedua bagian tajam tersebut pada dua lubang rangka utama yang ditunjukkan oleh panah di bawah ini.

    Posisikan keduanya seperti pada gambar di bawah ini.
    Ultrasonic Sensors
    Kemudian kencangkan kedua baut tersebut dengan baut sehingga Sensor Jarak menempel pada rangka utama.Ultrasonic Sensors
    Kini Sensor Jarak sebelah kiri telah terpasang pada rangka utama seperti pada gambar di bawah ini.Ultrasonic Sensors

Sensor Jarak Kanan
  1. Kita akan memasang Sensor Jarak pada dudukan sensor. Siapkan dudukan sensor dengan posisi slot menghadap kiri seperti ditunjukkan oleh tanda panah pada gambar di bawah.

    Ultrasonic Sensors
    Masukkan Sensor Jarak pada dudukan sensor. Ingat, pastikan posisi slot menghadap kiri seperti ditunjukkan oleh tanda panah pada gambar di bawah.
    Ultrasonic Sensors

  2. Selanjutnya siapkan dudukan servo motor seperti pada gambar di bawah ini.

    Ultrasonic Sensors
    Kita akan memasangkan satu buah baut pada lubang pada dudukan servo motor tersebut. Bisakah teman-teman menebak dimana posisinya? Mari perhatikan posisi dudukan servo motor dan posisi baut pada gambar di bawah ini. Dan sama seperti sebelumnya, jangan memasang baut tersebut hingga masuk sepenuhnya terlebih dahulu.Ultrasonic Sensors
    Selanjutnya ambil Sensor Jarak yang telah terpasang pada dudukan sensor. Posisikan Sensor Jarak terbalik menghadap bawah seperti pada gambar di bawah. Setelah itu masukkan bagian slot dudukan sensor pada baut yang telah kita pasang tadi. Agar lebih jelasnya, perhatikan gambar di bawah ini.
    Ultrasonic Sensors
    Sejajarkan dan luruskan dudukan sensor jarak dengan dudukan servo seperti pada gambar di bawah ini.
    Ultrasonic Sensors
    Setelah sejajar dan lurus seperti pada gambar di atas, kencangkan baut tersebut hingga mencengkeram bagian slot dudukan sensor seperti pada gambar di bawah. Baut tersebut akan membuat dudukan sensor menempel pada dudukan servo motor.
    Ultrasonic Sensors

  3. Selanjutnya, kita akan memasang dua baut pada dudukan servo. Perhatikan lubang yang ditandai oleh tanda panah pada gambar di bawah. Disitulah kita akan memasang dua baut tersebut.

    Ultrasonic Sensors
    Namun jangan langsung memasukkan sepenuhnya kedua baut tersebut. Masukkan sedikit saja dahulu kedua baut tersebut hingga terlihat sedikit bagian tajam ujung baut seperti ditunjukkan oleh tanda panah pada gambar di bawah.Ultrasonic Sensors

  4. Selanjutnya, kita akan memasangnya pada rangka utama. Perhatikan dua buah lubang yang ditandai oleh tanda panah pada gambar di bawah ini. Masih ingat bagian tajam ujung baut yang ditunjukkan oleh dua tanda panah hitam pada langkah 38 tadi? Kita akan memasukkan kedua bagian tajam tersebut pada dua lubang rangka utama yang ditunjukkan oleh panah di bawah ini.

    Posisikan keduanya seperti pada gambar di bawah ini.
    Ultrasonic Sensors
    Kemudian kencangkan kedua baut tersebut dengan baut sehingga Sensor Jarak menempel pada rangka utama.Ultrasonic Sensors
    Kini Sensor Jarak sebelah kiri telah terpasang pada rangka utama seperti pada gambar di bawah ini.Ultrasonic Sensors

◼️ Wiring Diagram

Selanjutnya, kita akan merangkai dan menghubungkan komponen-komponen tersebut dengan kabel jumper.

▪️ Diagram Gambar

Teman-teman bisa gunakan gambar Wiring Diagram di bawah ini sebagai petunjuk untuk merangkai kabel-kabelnya.

Docs Version Dropdown

▪️ Diagram Tabel

Apabila titik ujung kabel pada gambar di atas kurang jelas, teman-teman bisa gunakan tabel di bawah ini.

Sensor Jarak KiriSensor Jarak Kanan
Sensor JarakArduino Nano Expansion Board
GNDPin G
TRIGPin 2
ECHOPin 3
VCCPin V
Sensor JarakArduino Nano Expansion Board
GNDPin G
TRIGPin 12
ECHOPin 13
VCCPin V

Modul L298NArduino Nano Expansion Board
ENAPin 10
IN1Pin 9
IN2Pin 8
IN3Pin 6
IN4Pin 5
ENBPin 11
12VVIN
GNDGND
Motor KiriModul L298N
Kabel MerahOUT 1
Kabel CoklatOUT 2
Motor KananModul L298N
Kabel MerahOUT 4
Kabel CoklatOUT 3

Mengetik Program

Kemudian ketik program di bawah ini. Setelah selesai mengetik, jalankan proses Verify. Setelah proses verify dan compiling selesai, upload programnya ke Arduino Nano.

RoboKarsa_Edge_Avoider_Robot.ino
#include <Ultrasonic.h> //Baris ini untuk memasukkan library Ultrasonic.h yang digunakan untuk membaca sensor PING

Ultrasonic leftSensor(12,13);//pin no 12 arduino dipasang ke pin Trigger, pin no 13 arduino dipasang ke pin Echo

Ultrasonic rightSensor(2,3);//pin no 2 arduino dipasang ke pin Trigger, pin no 3 arduino dipasang ke pin Echo

int leftDist;
int rightDist;

// Motor A connections
//Red Cable goes to OUT1
//Brown Cable goes to OUT2
int enA = 10;
int in1 = 9;
int in2 = 8;

// Motor B connections
//Red Cable goes to OUT4
//Brown Cable goes to OUT3
int in3 = 6;
int in4 = 5;
int enB = 11;

void setup() {
Serial.begin(9600);

// Set all the motor control pins to outputs
pinMode(enA, OUTPUT);
pinMode(enB, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);

// Turn off motors - Initial state
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);

}

void loop() {
delay(50);// Wait 50ms between pings (about 20 pings/sec). 29ms should be the shortest delay between pings.
leftDist = leftSensor.read();
rightDist = rightSensor.read();

//dekomentar bagian ini jika ingin memeriksa kondisi ketiga sensor jarak
/*
Serial.print("Jarak: ");
Serial.print(leftDist);
Serial.print(" ; ");
Serial.print(rightDist);
Serial.println(" ; ");
*/

if (rightDist>10 && leftDist<10) //jarak sensor kanan lebih besar dari 10
{
turnleft();
delay(100);
}
else if (rightDist<10 && leftDist>10) //jarak sensor kiri lebih besar dari 10
{
turnright();
delay(100);
}
else if (rightDist>10 && leftDist>10) //jarak sensor kiri dan kanan lebih besar dari 10
{
backward();
delay(500);
turnleft();
delay(300);
}
else if (rightDist<10 && leftDist<10) //jarak sensor kiri dan kanan kurang dari 10
{
forward();
}

}//end void loop()


void forward(){
analogWrite(enA, 140);
analogWrite(enB, 140);

digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
//delay(2000);
}

void backward(){
analogWrite(enA, 250);
analogWrite(enB, 250);

digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
//delay(500);
}

void turnleft(){
analogWrite(enA, 250);
analogWrite(enB, 250);

digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
//delay(2000);
}

void turnright(){
analogWrite(enA, 250);
analogWrite(enB, 250);

digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
//delay(2000);
}