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 :
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.
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
Gan ikut share.
Makasih gan
programnya diterima sma arduino nanov3.1.
Ane dri kmrin nyari2 program penggerak 2 servo.bnyak yg gagal.
sama-sama
gan batrainya 9v cuma 1??
Minimal pakai 1.
Maaf gan…ini punya saya gagal gan padahal semua skematik udah betul dan programnya berhasi di upload kira2 apa yang salah ya gan….
Robot nya bisa kenceng begitu pake apa gan ? , Faktor dinamo kah ? Atau volt dari batre yg besar
Ping balik: Membuat Robot Avoider Atau Halang Rintang Berbasis Arduino dan Sensor Ultrasonic | TEKNIK MEKATRONIKA
Min,saya bermasalah di drive l298n saya tidak berfungsi ,kira- kira gimana solusinya
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;
Pin pwm itu dari mana ya mas?
cra gabungin line follower dengan avoider gimana gan?