Membuat Robot Avoider Atau Halang Rintang Menggunakan Arduino dan Sensor Ultrasonic

img_20170222_165455

Assalamualaikum.
Salam Sejahtera Untuk Kita Semua Sobat …

Apakah robot avoider itu ? Robot avoider adalah robot yang otomatis berjalan menghindari segala berbagai rintangan/halangan yang ada di depannya. Robot avoider merupakan dasar untuk membuat sebuah robot yang canggih. Nah pada kesempatan kali ini, NP akan share bagaimana cara membuat sebuah robot avoider sederhana berbekal Arduino dan sensor ultrasonic. Silahkan disimak baik-baik tutorialnya sob 😀 .

 

 

 

 

 

Berikut ini komponen yang harus dipersiapkan :

  • 1 buah Arduino (bisa menggunakan Arduino UNO, MEGA, NANO, MINI atau yang lain. bisa diperoleh Di Sini)
  • 1 buah Sensor Ultrasonic (Bisa diperoleh Di Sini)
  • 1 buah Driver Motor L298N (Bisa diperoleh Di Sini)
  • 2 buah Motor DC + Roda (Bisa diperoleh Di Sini)
  • Baterai sesuai kebutuhan, tegangan sekitar 5-12V (Bisa diperoleh Di Sini)
  • Kabel jumper secukupnya (Bisa diperoleh Di Sini)
  • Breadboard/Projectboard jika diperlukan (Bisa didapat Di Sini)
  • Software Arduino IDE (Jika belum punya, maka download Di Sini)
  • Dan jika ingin belajar bagaimana cara menggunakan Arduino bagi pemula, silahkan download Ebook nya Di Sini

 

 

 

 

 

Dan berikut ini adalah skema rangkaiannya :

avoider-robot_bb

Keterangan Rangkaian :

  • Bisa Menggunakan Segala Jenis Arduino (UNO, NANO, MEGA, MINI, dll), karena penomoran pinnya sama. Tinggal cocokkan Saja nomor Pin-Pin nya.

  • Pin Trigger sensor ultrasonic ==> Pin 3 Arduino

  • Pin Echo sensor ultrasonic ==> Pin 2 Arduino

  • Pin In1 Driver Motor ==> Pin 7 Arduino

  • Pin In2 Driver Motor ==> Pin 6 Arduino

  • Pin In3 Driver Motor ==> Pin 5 Arduino

  • Pin In4 Driver Motor ==> Pin 4 Arduino

  • Pin ENA-bawah Driver Motor ==> Pin 9 Arduino

  • Pin ENB-bawah Driver Motor ==> Pin 9 Arduino

  • Pin ENA-atas Driver Motor ==> Pin 5V Arduino

  • Pin ENB-atas Driver Motor ==> Pin 5V Arduino

  • OUT1 dan OUT2 Driver Motor ==> Motor 1

  • OUT3 dan OUT4 Driver Motor ==> Motor 2

  • Pin 12V Driver Motor ==> Hubungkan ke baterai

  • Pin GND Driver Motor ==> Hubungkan ke Ground(-) Baterai dan Ground(GND) Arduino

  •  Kaki vcc pada masing-masing komponen hubungkan ke sumber power positif 5v (bisa dari 5v Arduino)

  • Kaki gnd/ground pada masing-masing komponen hubungkan ke sumber negatif power (dihubungkan ke pin gnd Arduino)

 

 

 

 

 

 

Kemudian rakitlah robot sesuai dengan kreatifitas sobat. Ini NP berikan referensi bentuk robot sesuai dengan robot yang NP buat. Pastikan sensor ultrasonic berada di paling depan sebagai sensor utamanya.

img_20170225_202913img_20170225_202939

 

 

 

 

 

 

 

Setelah itu, silahkan upload program seperti di bawah ini pada software Arduino IDE milik sobat, dan tata cara upload program ke Arduino bisa sobat baca Di Sini :

// ---- Project Membuat Robot Avoider Atau Halang Rintang ---- //
// --------- Berbasis Arduino dan Sensor ultrasonic ---------- //
// ------------- Dibuat oleh : M. Nofgi Y.P.U. -------------- //
// ------------- www.nofgipiston.wordpress.com -------------- //


// inialisasi pin untuk motor kanan-kiri
const int motor1 = 7;
const int motor2 = 6;
const int motor3 = 5;
const int motor4 = 4;

// inialisasi pin sensor ultrasonic
const int pinT = 3; // pin Trigger
const int pinE = 2; // pin Echo

// inialisasi variabel durasi dan jarak, pembacaan sensor ultrasonic
int durasi, jarak;

// inialisasi pin untuk pengaturan kecepatan
// wajib menggunakan pin PWM
const int pinSpeed = 9;
// inialisasi variabel penampung nilai kecepatan
int Speed;


// ------ program default/setting awal ------ //
void setup()
{
 // inialisasi status I/O masing2 pin
 pinMode(motor1, OUTPUT);
 pinMode(motor2, OUTPUT);
 pinMode(motor3, OUTPUT);
 pinMode(motor4, OUTPUT);

pinMode(pinT, OUTPUT);
 pinMode(pinE, INPUT);

pinMode(pinSpeed, OUTPUT);
}


// ----- program utama, looping/berulang terus-menerus ------ //
void loop()
{
 // ------------- pengaturan kecepatan -------------- //
 // membatasi nilai speed 0 - 255
 Speed = constrain(Speed, 0, 255);
 // inialisasi nilai kecepatan
 // nilai kecepatan dapat diubah, batasannya antara 0 - 255
 Speed = 255;
 // menuliskan nilai speed pada pinSpesed
 analogWrite(pinSpeed, Speed);




 // ----------- mengaktifkan sensor ultrasonic -------------- //
 // mengaktifkan pin trigger
 digitalWrite(pinT, HIGH);
 // delay 10 mikrodetik
 delayMicroseconds(10);
 // mematikan pin trigger
 digitalWrite(pinT, LOW);

// mendapat data durasi pantulan gelombang ultrasonic
 durasi = pulseIn(pinE, HIGH);
 // konversi durasi ke jarak dalam satuan centimeter(cm)
 jarak = ((durasi * 0.034) / 2);




// ------------ mengatur pergerakan robot --------------- s//
 // jika jarak lebih besar atau sama dengan 20 cm
 if (jarak >= 20)
 {
 // jalan maju
 digitalWrite(motor1, HIGH);
 digitalWrite(motor2, LOW);
 digitalWrite(motor3, HIGH);
 digitalWrite(motor4, LOW);
 }


 // jika jarak kurang dari atau sama dengan 19 cm
 else if (jarak <= 19)
 {
 // jalan mundur selama 300 milidetik
 digitalWrite(motor1, LOW);
 digitalWrite(motor2, HIGH);
 digitalWrite(motor3, LOW);
 digitalWrite(motor4, HIGH);
 delay(300);

// lalu belok kiri selama 300 milidetik
 digitalWrite(motor1, HIGH);
 digitalWrite(motor2, LOW);
 digitalWrite(motor3, LOW);
 digitalWrite(motor4, HIGH);
 delay(300);
 }
}

 

 

 

 

 

 

Dan berikut ini adalah video demonstrasinya di channel Youtube saya :

 

 

 

 

 

 

Penjelasan singkat dari program di atas yakni :

Program di atas berfungsi untuk mengaktifkan sensor ultrasonic dan membaca jarak halangan yang terdeteksi di depan robot. Untuk lebih jelasnya tentang cara kerja sensor ultrasonic, silhkan baca artikel Di Sini . Jika jarak terdeteksi di atas atau sama dengan 20cm, maka robot akan berjalan lurus terus. Sedangkan jika jarak yang terdeteksi dibawah 20cm, maka robot akan mundur sesaat, kemudian belok ke kiri. Untuk kecepatan dan aturan jarak yang dibaca oleh sensor, dapat kita rubah sesuka hati seperti gambar di bawah ini. Untuk nilai kecepatan rangenya 0 sampai 255, sedangkan untuk jarak range nya sekitaran 2 cm sampai 400 cm.

Robot tersebut akan berjalan dan secara otomatis menghindari halangan di depannya sesuai ketentuan yang sudah diatur di dalam programnya. Cara berbelok robot tersebut tidak menggunakan kemudi layaknya mobil sungguhan, tetapi menggunakan differential drive. Yaitu saat berjalan maju, roda kanan dan kiri maju secara bersamaan. Nah saat belok kiri, maka roda kanan tetap maju, namun roda kiri berjalan mundur. Di situlah cara berbelok mobile robot ini. Kalau mau disetting belok kanan juga bisa. Tinggal setting roda kiri maju, dan roda kanan berjalan mundur. Maka robot akan berbelok ke kanan. Begitulah teknik differential drive.

 

 

 

 

 

 

Nah mudah bukan untuk membuat sebuah robot avoider ? 😀 . Pastinya kita dapat membuat robot-robot yang lebih canggih dengan terus berlatih menggunakan board microcontroller serba bisa seperti Arduino ini 😀 .

Jangan bosan-bosan belajar dan berlatih dengan Arduino ya sob … Karena banyak sekali alat-alat serta kreatifitas yang dapat kita buat dengan board microcontroller serba bisa ini 🙂 .

“Allah akan meninggikan orang-orang yang beriman di antaramu dan orang-orang yang diberi ilmu pengetahuan beberapa derajat (Q.s. al-Mujadalah : 11)”

Semoga bermanfaat 😀 .

Salam Teknologi … Salam Arduino …🙂 .

Wassalamualaikum.

*

*

*

*

*

********************

#Maaf jika ada kesalahan, ambil sisi positifnya saja.
#Barangkali anda mempunyai kabar/berita seputar otomotif/mekatronika/robotika/elektronika atau ingin mengiklankan suatu produk di blog ini, silahkan kontak saya.

Jual Arduino, Sensor, Modul, SHIELD, dan Berbagai Komponen Elektronika/Robotika murah meriah … Best Quality Product … !!! (Klik di sini)

Atau Silahkan Kunjungi Lapak Kami di Tokopedia Berikut ini : https://www.tokopedia.com/nofgipiston

Menerima jasa pembuatan Project atau alat berbasis Arduino, Elektronika, Robotika, Mekatronika, dan sejenisnya …

Bisa untuk keperluan hobi, tugas kuliah/sekolah, project industri/rumahan, dan sebagainya …

Silahkan kontak saya :

Facebook              : Nofgi Yugo Prasetyo
Fans Page on Facebook : Nofgi Piston Blog
E-Mail                : Nofgimotor@gmail.com
PIN BBM               : D2F100C2
Line                  : nofgi piston
Instagram             : nofgi_piston
Youtube               : Nofgi Piston
No. HP/WA             : 088217082017

Tentang Nofgi

Menerima Order Project Elektronika & Robotika. WA/SMS : 088217082017 Youtube : Nofgi Piston IG : nofgi_piston
Pos ini dipublikasikan di Arduino, DIY, Edukasi, Elektronika, Mekatronika, Microcontroller, Robotika, Teknologi dan tag , , , , , , , , . Tandai permalink.

11 Balasan ke Membuat Robot Avoider Atau Halang Rintang Menggunakan Arduino dan Sensor Ultrasonic

  1. arasy berkata:

    Gan ikut share.
    Makasih gan
    programnya diterima sma arduino nanov3.1.
    Ane dri kmrin nyari2 program penggerak 2 servo.bnyak yg gagal.

  2. juniagung berkata:

    gan batrainya 9v cuma 1??

  3. nafis berkata:

    Maaf gan…ini punya saya gagal gan padahal semua skematik udah betul dan programnya berhasi di upload kira2 apa yang salah ya gan….

  4. Anonim berkata:

    Robot nya bisa kenceng begitu pake apa gan ? , Faktor dinamo kah ? Atau volt dari batre yg besar

  5. Ping balik: Membuat Robot Avoider Atau Halang Rintang Berbasis Arduino dan Sensor Ultrasonic | TEKNIK MEKATRONIKA

  6. Dika fitra berkata:

    Min,saya bermasalah di drive l298n saya tidak berfungsi ,kira- kira gimana solusinya

  7. Anonim berkata:

    malam mas..mengganggu waktunya
    kalau boleh tau pinSpeed ini di hubungkan dari mana dan kemna bos?

    // inialisasi pin untuk pengaturan kecepatan
    // wajib menggunakan pin PWM
    const int pinSpeed = 9;
    // inialisasi variabel penampung nilai kecepatan
    int Speed;

  8. Bagus prayetno berkata:

    Pin pwm itu dari mana ya mas?

  9. Anonim berkata:

    cra gabungin line follower dengan avoider gimana gan?

Komentar Anda Membuat Semangat Saya Membara ... :D