Isi kandungan:

Robot Penghindaran Utrasonik Menggunakan Arduino: 7 Langkah
Robot Penghindaran Utrasonik Menggunakan Arduino: 7 Langkah

Video: Robot Penghindaran Utrasonik Menggunakan Arduino: 7 Langkah

Video: Robot Penghindaran Utrasonik Menggunakan Arduino: 7 Langkah
Video: tes sensor ultrasonik robot avoider arduino 2024, November
Anonim
Image
Image
Robot Penghindaran Utrasonik Menggunakan Arduino
Robot Penghindaran Utrasonik Menggunakan Arduino

Dalam tutorial ini, saya akan menunjukkan kepada anda bagaimana membuat robot mengelakkan halangan anda sendiri! Kami akan menggunakan papan Arduino UNO dan sensor ultrasonik. Sekiranya robot mengesan objek di hadapannya, dengan bantuan motor servo kecil, ia mengimbas kawasan ke kiri dan kanan untuk mencari jalan terbaik untuk membelok. Ini juga memiliki LED pemberitahuan, buzzer untuk memainkan nada ketika objek dikesan dan tombol untuk mengubah fungsi robot (berhenti / bergerak maju).

Sangat mudah membuatnya!

Langkah 1: Perkara yang Perlu Dibuat

Perkara yang perlu dibuat!
Perkara yang perlu dibuat!
Perkara yang perlu dibuat!
Perkara yang perlu dibuat!
Perkara yang perlu dibuat!
Perkara yang perlu dibuat!
Perkara yang perlu dibuat!
Perkara yang perlu dibuat!

Untuk projek ini, anda memerlukan:

  1. Arduino UNO (beli dari gearbest.com)
  2. Papan roti mini (beli dari gearbest.com)
  3. Modul pemandu motor L298 (beli dari gearbest.com)
  4. Motor 2x dc dengan roda sensor ultrasonik HC-SR04 (beli dari gearbest.com)
  5. Motor servo mikro (beli dari gearbest.com)
  6. Butang Red LED220 Ohm perintang bateri 9V (dengan atau tanpa soket kuasa)
  7. 8 spacer (lelaki-wanita),
  8. 8 mur dan 8 skru anda juga memerlukan satu besar (logam)

klip kertas dan manik untuk membuat roda sokongan belakang.

Untuk pangkalan robot, saya menggunakan Acryllic Chasis dari Aliexpress. Anda juga boleh menggunakan sekeping kayu atau logam (atau dua Plat elektrik).

Kos keseluruhan projek adalah sekitar 20 $

Alat: Mesin gerudi mesin super lem pemandu senjata panas lem (pilihan) Kuasa:

Kami akan menggunakan bateri 9V untuk menghidupkan robot kami kerana ia kecil dan murah, tetapi tidak terlalu kuat dan akan kosong setelah kira-kira satu jam. Pertimbangkan jika anda ingin menggunakan pek bateri yang boleh dicas semula (min 6V, maksimum 7V) yang akan lebih berkuasa tetapi ia juga akan lebih mahal dan lebih besar daripada bateri 9V. Langgan Saluran YouTube Kami Klik Di Sini

Langkah 2: Memahami Konsep

Memahami Konsep
Memahami Konsep
Memahami Konsep
Memahami Konsep
Memahami Konsep
Memahami Konsep

Tujuannya adalah untuk membuat robot menyedari halangan di depannya, sehingga dia dapat mengubah arah dan menghindarinya. Dalam artikel sebelumnya kami membuat robot bergerak - sekarang kami akan memberinya autonomi.

Sensor ultrasonik

HC-SR04 adalah litar yang dapat mengukur jarak ke objek hingga 4 meter menggunakan gelombang ultrasonik. Ini menghantar ping (seperti kapal selam) dan mengukur masa (dalam mikrodetik) antara mengirim dan menerima apa-apa kembali. Kali ini kemudian dibahagi dengan 2 ketika gelombang bergerak pergi dan balik. Dan kemudian bahagi dengan 29 untuk mendapatkan jarak dalam sentimeter (atau 74 untuk inci), kerana suara bergerak 29,4µs per sentimeter (340 m / s). Sensor sangat tepat dengan toleransi ~ 3 mm dan mudah disatukan dengan Arduino.

Memadankan Sensor Ultrasonik dengan AVR Microcontroller

Mana-mana robot autonomi harus mempunyai halangan yang harus dihindari dan sensor pengukur jarak terpasang. Pasangan transceiver IR atau sensor skala kelabu dapat berfungsi dengan mudah untuk mengesan halangan dalam jarak 1cm-10cm. Pencari jarak IR (contohnya dari tajam) dapat mengukur jarak ke halangan terdekat dengan jarak hingga 100cm. Walau bagaimanapun, sensor IR dipengaruhi oleh cahaya matahari dan sumber cahaya lain. Pencari jarak jauh IR mempunyai jarak yang lebih rendah dan juga mahal untuk apa yang dilakukannya. Sensor ultrasonik (juga dikenali sebagai sensor jarak ultrasonik atau sonar untuk geeks) melakukan kedua-dua tugas ini dengan kos yang berpatutan dan ketepatan yang luar biasa. Julatnya adalah antara 3 cm hingga 350cm dengan ketepatan ~ 3mm. Mengikat salah satu sensor ultrasonik ini ke dalam robot kami, ia dapat berfungsi sebagai penghalang halangan dan sensor pengukur jarak.

Suara "Ultrasonik" merujuk kepada apa pun di atas frekuensi suara yang dapat didengar, dan secara nominal merangkumi apa-apa yang melebihi 20, 000 Hz, atau 20kHz! Sensor Ultrasonik murah yang digunakan untuk robotik biasanya berfungsi dalam julat 40 kHz hingga 250 kHz sementara sensor yang digunakan dalam peralatan perubatan meningkat hingga 10Mhz.

Langkah 3: Alat Diperlukan

Alat Diperlukan
Alat Diperlukan
Alat Diperlukan
Alat Diperlukan
Alat Diperlukan
Alat Diperlukan
Alat Diperlukan
Alat Diperlukan
  1. Multimeter
  2. Papan roti
  3. Playar mata jarum
  4. Stripper Wayar
  5. Pemotong wayar
  6. Pistol gam

MultimeterA Multimeter sebenarnya adalah alat sederhana yang digunakan terutamanya untuk mengukur voltan dan rintangan dan untuk menentukan sama ada litar ditutup. Sama seperti menyahpepijat kod komputer, Multimeter membantu anda "menyahpepijat" litar elektronik anda.

Bahan Binaan

Bekalan kayu nipis dan / atau Plexiglas yang tersedia untuk membuat kerangka mekanikal sangat berguna. Logam seperti aluminium dan keluli sering dihadkan kepada mereka yang mempunyai akses ke kedai mesin walaupun aluminium nipis dapat dipotong dengan gunting dan dibengkokkan dengan tangan. Kerangka mekanikal bahkan boleh dibina dari barang keperluan rumah seperti bekas plastik.

Walaupun bahan lain seperti plastik (selain Plexiglas), atau lebih banyak bahan eksotik seperti gentian kaca dan serat karbon mungkin, bahan tersebut tidak akan dipertimbangkan dalam panduan ini. Beberapa pengeluar menyatakan bahawa tidak mudah bagi kebanyakan penggemar untuk menghasilkan bahagian mekanikal mereka sendiri dan telah membuat bahagian mekanikal modular. Pemimpin dalam hal ini adalah Lynxmotion yang menawarkan pelbagai reka bentuk robot serta bahagian yang diperlukan untuk membuat robot tersuai anda sendiri.

Alatan tangan

Pemutar skru dan tang pelbagai jenis dan saiz (termasuk set alat perhiasan: pemutar skru kecil yang biasanya terdapat di kedai dolar) diperlukan. Gerudi (lebih baik tekan gerudi untuk lubang lurus) juga penting. Gergaji tangan untuk memotong bahan binaan (atau penghala) juga merupakan aset penting. Sekiranya anggaran memungkinkan, gergaji meja kecil (julat $ 200) pasti merupakan alat untuk dipertimbangkan.

Papan Roti Solderless

Papan roti tanpa solder membolehkan anda mengoptimumkan susun atur anda dan menghubungkan komponen dengan mudah. Bersama dengan papan roti tanpa solder, anda harus membeli kit wayar jumper yang telah dibentuk sebelumnya yang terdiri daripada wayar pra-potong dan bengkok yang dimaksudkan untuk digunakan dengan papan roti tanpa solder. Ini menjadikan hubungan sangat mudah.

Set pemutar skru kecil

Pemutar skru kecil ini diperlukan semasa bekerja dengan elektronik. Jangan terlalu memaksa mereka - ukurannya menjadikannya lebih rapuh.

Set pemutar skru biasa

Semua bengkel memerlukan pelbagai alat atau set alat yang merangkumi flat / Phillips dan kepala pemutar skru yang lain.

Playar mata jarum

set tang hidung jarum sangat berguna semasa bekerja dengan komponen dan bahagian kecil dan merupakan tambahan yang sangat murah untuk kotak alat anda. Ini berbeza dengan tang biasa kerana sampai ke titik yang dapat masuk ke kawasan kecil.

Pelucut wayar / pemotong

Anda merancang untuk memotong sebarang wayar, penari telanjang akan menjimatkan masa dan usaha anda. Pelucut wayar, apabila digunakan dengan betul, hanya akan melepaskan penebat kabel dan tidak akan menghasilkan kekusutan atau merosakkan konduktor. Alternatif lain untuk stripper wayar adalah sepasang gunting, walaupun hasil akhirnya boleh menjadi tidak kemas. Gunting, pembaris, pen, pensil penanda, pisau Exacto (atau alat pemotong tangan lain) Ini adalah keperluan penting di mana-mana pejabat.

Langkah 4: Cocepts untuk Kod AVR

Cocepts untuk Kod AVR
Cocepts untuk Kod AVR

Mengira kelajuan suara berbanding dengan sensor ultrasonik

Matematik sedikit, tetapi jangan takut. Ia lebih sederhana daripada yang anda fikirkan.

Kelajuan bunyi di udara kering pada suhu bilik (~ 20 ° C) = 343 meter / saat

Agar gelombang suara memukul dan melakukan perjalanan pergi balik ke objek yang berdekatan adalah = 343/2 = 171.5 m / kerana jarak maksimum sensor ultrasonik yang murah tidak lebih dari 5 meter (perjalanan pergi balik), lebih masuk akal untuk tukar unit ke sentimeter dan mikrodetik.

1 Meter = 100 sentimeter 1 saat = 10 ^ 6 mikrodetik = (s / 171.5) x (m / 100 cm) x ((1x10 ^ 6) / s) = (1 / 171.5) x (1/100) x (1000000 / 1) = 58.30903790087464 us / cm = 58.31 us / cm (membundarkan kepada dua digit untuk membuat pengiraan lebih mudah)Oleh itu, masa yang diperlukan untuk nadi bergerak ke objek dan melantun kembali 1 sentimeter ialah 58.31 mikrodetik.

latar belakang kecil pada kitaran jam AVR

Memerlukan bab yang sama sekali berbeza untuk memahami kitaran jam AVR, tetapi kami akan memahami secara ringkas bagaimana ia berfungsi untuk membuat pengiraan kami lebih mudah

Sebagai contoh, kami akan menggunakan papan Draco AVR yang mempunyai mikrokontroler AVR 8-bit - Atmega328P. Untuk memastikan perkara mudah, kami tidak akan mengubah tetapan mikrokontroler. Tiada bit fius yang disentuh; Tiada kristal luaran yang terpasang; Tanpa sakit kepala. Pada tetapan kilang, ia berjalan pada pengayun 8MHz dalaman dengan prescaler / 8; Sekiranya anda tidak memahami semua ini, ini hanya bermaksud bahawa mikrokontroler berjalan pada 1MHz RC Oscillator dalaman dan setiap pusingan jam mengambil masa 1 mikrodetik.

1 2 1MHz = dari 1000000 kitaran sesaat Oleh itu, 1s / 1000000 = 1/1000000 = 1us

Jam AVR dan penukaran jarak

Kami hampir sampai! Setelah kita mengetahui cara menukar kitaran jam AVR ke jarak yang ditempuh oleh gelombang bunyi, pelaksanaan logik dalam program adalah mudah.

Kami tahu kelajuan bunyi ultrasonik di persekitaran yang ideal adalah: 58.31 us / cm

Kami tahu bahawa resolusi mikrokontroler AVR adalah 1us / clock cycle (CLK)

Oleh itu, jarak yang dilalui oleh kitaran bunyi per jam (CLK) adalah:

1 2 3 = (58.31 us / cm) x (1us / clk) = 58.31 kitaran jam / cm atau = 1 / 58.31 cm / clk

Sekiranya bilangan kitaran jam yang diperlukan untuk bunyi bergerak dan bangkit kembali diketahui, kita dapat menghitung jaraknya dengan mudah. Sebagai contoh, jika sensor mengambil 1000 putaran jam untuk bergerak dan melantun kembali, maka jarak dari sensor ke objek terdekat adalah = 1000 / 58.31 = 17.15 cm (lebih kurang)

Adakah semuanya masuk akal sekarang? Tidak? Baca lagi

Sekiranya anda jelas dengan semua logik yang disebutkan di atas, kami akan menerapkannya dalam senario dunia nyata dengan menyambungkan sensor ultrasonik HC-SR04 yang murah ke papan AVR Arduino kami.

Langkah 5: Sambungan Perkakasan:

Sambungan Perkakasan
Sambungan Perkakasan
Sambungan Perkakasan
Sambungan Perkakasan
Sambungan Perkakasan
Sambungan Perkakasan
Sambungan Perkakasan
Sambungan Perkakasan

Arduino Boardmemudahkan menyambungkan sensor luaran dan juga melihat hasilnya di LCD. Untuk pengesanan jarak ultrasonik, kami menggunakan modul HC-SR04 yang murah. Modul ini mempunyai 4 pin yang boleh disambungkan ke papan mikrokontroler: VCC, TRIG, ECHO, dan GND.

Sambungkan pin VCC ke pin 5V dan GND ke tanah di papan Arduino.

Pin TRIG dan pin ECHO boleh disambungkan ke pin yang tersedia di papan. Menghantar minimum 10us 'tinggi' isyarat untuk memicu pin menghantar lapan gelombang suara 40 kHz dan menarik pin gema tinggi. Sekiranya suara melantun dari objek yang berdekatan dan kembali, ia ditangkap dengan menerima transduser dan pin echo ditarik ‘rendah’.

Varian modul sensor ultrasonik lain juga tersedia dengan hanya 3 pin. Prinsip kerja masih sama, tetapi fungsi pin pemicu dan gema digabungkan menjadi satu pin.

Setelah disambungkan, Trigger dan Echo Pins dapat dikonfigurasi melalui perisian. Untuk memastikan contoh ini mudah, kami tidak akan menggunakan pin gangguan (atau Pin Tangkap Input) dalam contoh ini. Tidak menggunakan pin interrupt yang ditetapkan juga memberi kita kebebasan untuk menghubungkan modul ke pin yang ada di papan.

Langkah 6: Kod

KodKod di bawah hanya mengandungi peluasan "ultrasonik" ke kawalan motor DC menggunakan H-Bridge dari artikel sebelumnya. Apabila robot mengesan halangan di depannya, dia berpusing (darjah rawak) dan terus bergerak ke depan. Fungsi ini dapat diperluas dengan mudah untuk terus memutar dan mengesan rintangan pada masa yang sama - sehingga robot tidak akan berpusing secara rawak, tetapi mulai bergerak ke depan hanya jika tidak ada objek yang terdeteksi.

Untuk Penjelasan Kod Rujuk Video Youtube yang Tersenarai di Saluran.

Langkah 7: Video

Tonton Video Untuk Seluruh Proses.

Disyorkan: