Bagaimana Cara Membuat Rintangan Menghindari Robot Menggunakan Arduino?

Dunia bergerak cepat, dan teknologi juga bergerak bersamanya di bidang robotika. Aplikasi robotika dapat dilihat di mana-mana di seluruh dunia. Konsep robot bergerak atau otonom yang bergerak tanpa bantuan eksternal adalah bidang penelitian yang paling menarik. Ada banyak sekali jenis mobile robot, misalnya interpreter Self Localization and Mapping (SLAM), Line following, Sumo Bots, dll. Salah satunya adalah robot penghindar rintangan. Ia menggunakan teknik untuk mengubah jalur jika mendeteksi adanya rintangan di jalannya.

Pada proyek ini dirancang sebuah robot penghindaran halangan berbasis Arduino yang akan menggunakan sensor ultrasonik untuk mendeteksi semua rintangan yang dilaluinya.

Bagaimana Menghindari Hambatan dengan Sensor Ultrasonik?

Seperti yang kita ketahui abstrak dari proyek kita, mari kita bergerak selangkah lebih maju dan mengumpulkan beberapa informasi untuk memulai proyek.

Langkah 1: Mengumpulkan Komponen

Pendekatan terbaik untuk memulai proyek apa pun adalah membuat daftar komponen lengkap di awal dan melalui studi singkat tentang setiap komponen. Ini membantu kami menghindari ketidaknyamanan di tengah proyek. Daftar lengkap dari semua komponen yang digunakan dalam proyek ini diberikan di bawah ini.

Langkah 2: Mempelajari Komponen

Sekarang, karena kita memiliki daftar lengkap dari semua komponen, mari kita maju selangkah dan melalui studi singkat tentang cara kerja setiap komponen.

Arduino nano adalah papan mikrokontroler ramah papan tempat memotong roti yang digunakan untuk mengontrol atau melakukan berbagai tugas dalam suatu rangkaian. Kami membakar Kode C. pada Arduino Nano untuk memberi tahu papan mikrokontroler bagaimana dan operasi apa yang harus dilakukan. Arduino Nano memiliki fungsi yang persis sama dengan Arduino Uno tetapi dalam ukuran yang cukup kecil. Mikrokontroler pada papan Arduino Nano adalah ATmega328p.

L298N adalah sirkuit terintegrasi arus tinggi dan tegangan tinggi. Ini adalah jembatan penuh ganda yang dirancang untuk menerima logika TTL standar. Ini memiliki dua input yang memungkinkan perangkat untuk beroperasi secara independen. Dua motor dapat dihubungkan dan dioperasikan pada waktu yang bersamaan. Kecepatan motor divariasikan melalui pin PWM. Pulse Width Modulation (PWM) adalah teknik di mana aliran tegangan di setiap komponen elektronik dapat dikontrol. Modul ini memiliki H-Bridge yang bertanggung jawab untuk mengontrol arah putaran pada motor dengan membalik arah arus. Pin Pengaktifan A dan Pin Pengaktifan B digunakan untuk mengubah kecepatan kedua motor. Modul ini dapat beroperasi antara 5 dan 35V dan arus puncak hingga 2A. Input Pin1 dan Input Pin2 dan untuk motor Pertama dan Input Pin3 dan Input Pin4 adalah untuk Motor kedua.

Papan HC-SR04 merupakan sensor ultrasonik yang digunakan untuk mengetahui jarak antara dua benda. Ini terdiri dari pemancar dan penerima. Pemancar mengubah sinyal listrik menjadi sinyal ultrasonik dan penerima mengubah sinyal ultrasonik kembali menjadi sinyal listrik. Ketika pemancar mengirimkan gelombang ultrasonik, itu memantulkan setelah bertabrakan dengan objek tertentu. Jarak dihitung dengan menggunakan waktu, yang dibutuhkan sinyal ultrasonik untuk pergi dari pemancar dan kembali ke penerima.

Langkah 3: Merakit Komponen

Sekarang karena kita sekarang mengetahui cara kerja sebagian besar komponen yang digunakan, mari kita mulai merakit semua komponen dan menghasilkan robot penghindar rintangan.

  1. Ambil pengejar roda mobil dan tempelkan papan tempat memotong roti di atasnya. Pasang sensor Ultrasonik di depan chass dan tutup baterai di belakang chass.
  2. Pasang papan Arduino Nano di papan tempat memotong roti dan pasang driver motor tepat di belakang papan tempat memotong roti, di chass. Hubungkan pin Enable dari kedua motor ke Pin6 dan Pin9 dari Arduino nano. Pin In1, In2, In3 dan In4 dari modul driver motor terhubung ke pin2, pin3, pin4 dan pin5 dari Arduino nano masing-masing.
  3. Pin trig dan echo dari sensor ultrasonik masing-masing terhubung ke pin11 dan in10 dari Arduino nano. Vcc dan pin ground dari sensor ultrasonik terhubung ke 5V dan ground Arduino Nano.
  4. Modul pengontrol motor diberi daya oleh baterai. Board Arduino Nano mendapatkan daya dari port 5V pada modul driver motor dan sensor ultrasonik akan mendapatkan dayanya dari board Arduino nano. berat dan energi baterai dapat menjadi faktor penentu kinerjanya.
  5. Pastikan koneksi Anda sama seperti yang ditunjukkan di bawah ini pada diagram sirkuit.

Langkah 4: Memulai Arduino

Jika Anda belum terbiasa dengan Arduino IDE, jangan khawatir karena prosedur langkah demi langkah untuk mengatur dan menggunakan Arduino IDE dengan papan mikrokontroler dijelaskan di bawah ini.

  1. Unduh versi terbaru Arduino IDE dari Arduino.
  2. Hubungkan papan Arduino Nano Anda ke laptop Anda dan buka panel kontrol. di panel kontrol, klikPerangkat keras dan Suara. Sekarang klikPerangkat dan Printer.Di sini, temukan port tempat papan mikrokontroler Anda terhubung. Dalam kasus saya itu COM14tetapi berbeda di komputer yang berbeda.
  3. Klik pada menu Alat. dan atur papan ke Arduino Nano dari menu tarik-turun.
  4. Di menu Alat yang sama, setel port ke nomor port yang Anda amati sebelumnya di Perangkat dan Printer.
  5. Di menu Alat yang sama, Setel Prosesor ke ATmega328P (Old Bootloader).
  6. Unduh kode yang terlampir di bawah ini dan tempelkan ke Arduino IDE Anda. Klik pada unggah tombol untuk membakar kode pada papan mikrokontroler Anda.

Untuk mengunduh kodenya, klik di sini.

Langkah 5: Memahami Kode

Kode ini dikomentari dengan baik dan cukup jelas. Tapi tetap saja, itu dijelaskan di bawah

1. Di awal kode, semua pin papan Arduino Nano yang terhubung ke sensor ultrasonik dan modul driver motor, diinisialisasi. Pin6 dan Pin9 adalah pin PWM yang dapat memvariasikan aliran tegangan untuk memvariasikan kecepatan Robot. Dua variabel, durasi, dan jarakdiinisialisasi untuk menyimpan data yang nantinya digunakan untuk menghitung jarak sensor ultrasonik dan halangan.

int enable1pin = 6; // Pin untuk Motor Pertama int motor1pin1 = 2; int motor1pin2 = 3; int enable2pin = 9; // Pin Untuk Motor Kedua int motor2pin1 = 4; int motor2pin2 = 5; const int trigPin = 11; // Pin Pemicu Sesnor Ultrasonik const int echoPin = 10; // Echo Pin Of Ultrasonic Sesnor durasi panjang; // variabel untuk Menghitung jarak float jarak; 

2. batal penyiapan ()adalah fungsi yang digunakan untuk mengatur semua pin yang digunakan, sebagai MEMASUKKAN dan KELUARAN.Baud Rate ditentukan dalam fungsi ini. Baud Rate adalah kecepatan komunikasi dimana papan mikrokontroler berkomunikasi dengan sensor yang terintegrasi dengannya.

batal penyiapan () {Serial.begin (9600); pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); pinMode (enable1pin, OUTPUT); pinMode (enable2pin, OUTPUT); pinMode (motor1pin1, OUTPUT); pinMode (motor1pin2, OUTPUT); pinMode (motor2pin1, OUTPUT); pinMode (motor2pin2, OUTPUT); }

3. void loop ()adalah fungsi yang berjalan berulang kali dalam satu siklus. Dalam fungsi ini, kami memberi tahu papan mikrokontroler bagaimana dan operasi apa yang harus dilakukan. Di sini, pertama, pin pemicu diatur untuk mengirim sinyal yang akan dideteksi oleh pin gema. Kemudian waktu yang dibutuhkan oleh sinyal ultrasonik untuk bergerak dari dan kembali ke sensor dihitung dan disimpan dalam variabel durasi. Kemudian waktu ini digunakan dalam rumus untuk menghitung jarak rintangan dan sensor ultrasonik. Kemudian diberlakukan ketentuan bahwa jika jarak lebih dari 5ocm maka robot akan bergerak maju dalam garis lurus dan jika jarak kurang dari 50cm maka robot akan melakukan belokan tajam ke kanan.

void loop () {digitalWrite (trigPin, LOW); // Mengirim dan Mendeteksi penundaan Sinyal Ultrasonik Mikrodetik (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, LOW); durasi = pulseIn (echoPin, HIGH); // Menghitung waktu yang dibutuhkan oleh gelombang ultrasonik untuk memantulkan kembali jarak = 0,034 * (durasi / 2); // Menghitung jarak antara kamu robbot dan rintangannya. if (jarak> 50) // Maju jika jarak lebih dari 50cm {digitalWrite (enable1pin, HIGH); digitalWrite (enable2pin, TINGGI); digitalWrite (motor1pin1, HIGH); digitalWrite (motor1pin2, LOW); digitalWrite (motor2pin1, HIGH); digitalWrite (motor2pin2, LOW); } else if (jarak <50) // Belok Kanan tajam jika jarak kurang dari 50cm {digitalWrite (enable1pin, HIGH); digitalWrite (enable2pin, TINGGI); digitalWrite (motor1pin1, HIGH); digitalWrite (motor1pin2, LOW); digitalWrite (motor2pin1, LOW); digitalWrite (motor2pin2, LOW); } penundaan (300); }

Aplikasi

Jadi di sini adalah prosedur untuk membuat robot penghindar rintangan Teknologi penghindaran rintangan ini dapat digugat di aplikasi lain juga. Beberapa aplikasi tersebut adalah sebagai berikut.

  1. Sistem Pelacakan.
  2. Tujuan Pengukuran Jarak.
  3. Ini dapat digunakan dalam robot pembersih vakum otomatis.
  4. Ini dapat digunakan di Tongkat untuk orang buta.
Facebook Twitter Google Plus Pinterest