Membuat Obstacle Robot Follower Berbasis Arduino



      Mengenai robotika ini sangat cocok bagi pemula untuk belajar arduino dengan mudah dan cepat menangkap tentang bentuk atau alogaritma kodingan karena arduino menggunakan bahasa c++ yang lebih mudah di mengerti dan dipahami bagi pemula. Nah tentang robot obstacle ini mengenai robot yang dapat mengikuti sebuah pergerakan dari sebuah benda.

     Menggunakan 2 buah sensor hc-sr04 atau sensor ping sebagaimana fungsinya yaitu memantulkan gelombang ultrasonik, kemudian dengan penambahan ide baru maka fungsinya kita balik ketika sensor ping mendapat sebuah pantulan gelombang yang otomatis menghindari benda tersebut kita umpamakan sensor tersebut untuk mengikuti benda tersebut.

     Selanjutnya ketika membahas pertama tentang mekanik dari si robot pertama dari sisi sensor, kenapa saya memakai dua sensor?, itu karena kita bisa memaksimalkan daerah atau lingkungan sekitar. Seperti pada gambar di bawah adalah gambar dari si sensor hc-sr04 yang memantulkan gelombang dan kembali memantulkan untuk kemudian diproses secara digital menjadi nilai berupa jarak atau kondisi tertentu.



    Menggunakan lebih dari 2 sensor itu sangat efektif ketika sebuah benda yang pantulannya agak jauh dengan sensor ping lainnya itu menghampiri robot tersebut karena memudahkan kita sebgai progammer untuk menentukan jarak antar belokan yang jalan lurus kedepan sesuai dengan kebutuhan dan efesiensi dari sensor ping itu sendiri berkisar 2 cm, di bawah itu sensor ini akan mengalami nilai yang sangat buruk dan tidak efektif dengan jarak yang terlalu dekat dengan robot. Kemudian pada bagian roda saya menggunakan roda tank dari produk tamiya dengan double gear box dengan 2 motor agar kita dapet menkoding dengan mudah pada saat memberi logika pada belokan pada si robot.
Nah pada gambar di bawah menggunakan 2 sensor dengan jarak posisi agak berjauhan antara sensor 1 dan 2 dengan kemiringan sekitar 0 derajat ke 20 derajat sudutnya walaupun dalam mekanisme pasti ada human eror hehehe...



   Kemudian pada elektronikanya menggunakan beberapa rangkaian seperti input batre lippo berukuran 2 cell 7.4 dengan arus sekitar 1500 mAh, lalu ada motor driver yang saya gunakan adalah tipe l298d dengan menggunakan 4 output pada 2 motor dan 4 input digital pin PWM agar kita bisa mengatur laju motor sesuai arah belok dan kecepatan si motor. Pada rangkaian board untuk pengendali si motor juga sensor menggunakan mikrokontroller arduino nano dengan beberapa tambahan komponen lain seperti pada gambar. Ini adalah rangakain regulator pada robot menggunakan regulator 5v untuk komponen yang bekerja pada tegangan maksimal sebesar 5v seperti arduino nano, LED, 2 sensor hc-sr04


                                

    
      Pada komponen keseluruhan ini adalah beberapa komponen secara keseleuruhan, nah di bawah beberapa pin seperti pin PWM arduino menggunakan 5,6,9,dan 10 kemudian pada sensor ping menggunakan pin echo dan trigger yang sama yang pin digital 12 dan 7 dan ternyata uniknya kita tidak usah memisahkan kedua pin antara echo dan trigger pada arduino nano kalian bisa langsung menggabungkan kedua pin tersebut. Itu juga memudahkan kita untuk menghemat pin dan mencoba variasi baru karena fungsi echo dan trigger hampir sama dengan pin sinyal. Kemudian juga ada komponen line sensor untuk bervariasi juga di dalam rangkaian ini.



  
    Langkah berikutnya adalah awal bentuk kodingan seperti library yang kita gunakan seperti sensor ping SPI untuk bluetooth saya menggunakan kodingan ini juga sebagai mainan anak berupa remote kontrol dengan bluetooth. Seperti yang sudah saya katakan di atas ini adalah inisialisasi beberapa pin yang kita gunakan dari motor dari pin PWM kemudian pin echo dan trigger sensor pin, inisiliassasi kedua ping 1 dan 2 menjadi ping kiri dan kanan, terakhir di void setup berupa output yang digunakan di motor nanti, lalu baud rate sebesar 9600.



  Selanjutnya pada kodingan yaitu kita menggunakan alogaritma ketika benda atau sebuah obstacle terdapat pada sensor maka sensor itu akan mengikuti benda tersebut. Jadi gambaranya seperti ini ketika sebuah benda berada pada salah satu ping semisal sensor 1 seperti pada gambar di atas kita membuat perbandingan antara sensor 1 dan 2 , misal ketika sensor 1 terdapat benda maka sensor 2 tidak terdapat benda, maka dari itu kita memberikan jarak sebesar misalnya 15 cm untuk sensor ping 1 dan untuk sensor ping 2 adalah 0 cm maka dia akan berbelok kanan begitu juga sebaliknya. Jangan lupa untuk membedakan nilai jarak sensor ping 1 dan 2 ketika berbelok kalau sensor 1 15 cm maka sensor 2 berilah sekitar 17 cm bedakan sekitar 2 sampai 3 cm agar proses pada arduino tidak memperebutkan nilai yang sama ketika berbelok.

                                     


    Ketika dalam keadaan bersamaan kedunya mendapatnya daerah benda yang sama dalam arti kedua sensor terdapat benda maka dari jarak harus disamakan semisal 25 cm maka dia akan bergerak lurus kedepan. Sepeti pada contoh dia bawah adalah cara menggunakan kodingan yang pada bawah atas juga. Pada kodingan juga kita menambahkan beberapa fungsi seperti motor Maju (): ini adalah void loop yang nanti akan dia bahas di bawah



     Lalu beberapa tambahan seperti fungsi void loop tambahan yang berfungsi sebagai pergerakan motor seperti berberlok kanan, kiri, dan lurus kedepan itu saya menggunakan analogWrite nah inilah fungsi dari pin PWM (Pulse With Modulation) bisa mengatur kecepatan motor sesuai dengan kebutuhan ketia manuver atau berhenti sekalipun, seperti pada gambar di bawah.

                                                 

    Pada nilai 25 itu adalah hitungan rumus pada ping  seperi pada gambar di bawah ini mennunjukkan cara mendapat perhitungan dari kodingan arduino, sensor ini sudah terdapat pada librarynya jadi tenang saja tentang masalah di bawah, ini adalah gambaran mengapa saya menggunakan angka- angka seperti 25,16,dan 15 proses ini sebernarnya dilakukan oleh rumus di bawah untuk mendapatkan nilai serial monitor nantinya sebesar yang kita cantumkan.





Kunjungi juga :

Youtube: Erus lab

Sumber :


Comments