Daftar Isi:

Proyek 3: SonarDuino: 9 Langkah
Proyek 3: SonarDuino: 9 Langkah

Video: Proyek 3: SonarDuino: 9 Langkah

Video: Proyek 3: SonarDuino: 9 Langkah
Video: The Best Way To Turn Your XBOX Rumble Motor Into an Arduino Sound Activated DC Motor 2024, September
Anonim
Image
Image

Rekan Hobi yang terhormat, Dalam proyek ini kami akan mengeksplorasi kemungkinan memiliki sistem radar 360 derajat untuk deteksi objek. Mengatur modul ini secara terpisah akan memungkinkan robot penggerak Anda mendeteksi batas-batas di sekitarnya. Ini juga dapat berfungsi sebagai alat navigasi saat gelap, tetapi hanya jika Anda berjalan cukup lambat;p

Langkah 1: Apa yang Anda Butuhkan

Siapkan Dukungan Sensor Ultrasonik
Siapkan Dukungan Sensor Ultrasonik

Untuk membuat build ini Anda perlu membeli yang berikut:

Arduino Nano:

Papan Prototipe: https://www.ebay.com/itm/20pcs-set-4Size-Double-Side-Protoboard-Circuit-Universal-DIY-Prototype-PCB-Board/192076517108?epid=506557101&hash=item2cb8a70ef4:g:cQ4AAOSwN ~Zbl232:rk:13:pf:0

Motor Servo:

Sensor Ultrasonik: https://www.ebay.com/itm/5PCS-Ultrasonic-Sensor-Module-HC-SR04-Distance-Measuring-Sensor-for-arduino-SR04/170897438205?epid=18020663283&hash=item27ca47f5fd:g:w ~IAAOSw--xbD5Fp:rk:2:pf:0

Langkah 2: Dokumentasi

Seperti beberapa dari Anda mungkin sudah tahu ini, proyek ini terinspirasi dari proyek open-source lain yang disebut "Proyek Radar Arduino" yang dibuat oleh Dejan dari "Bagaimana Mekatronika" @ tautan berikut: https://howtomechatronics.com/projects/arduino -radar-proyek/

Poin lain yang memerlukan dokumentasi adalah mengunduh dua pustaka berikut ke dalam lingkungan pengembangan Anda:

Adafruit-GFX-Library:

Adafruit_SSD1306:

Ini dikatakan, untuk benar-benar memahami kode C Anda perlu melakukan beberapa dokumentasi dari kedua perpustakaan di atas. Selain itu, fungsi yang saya gunakan dalam kode saya memiliki nama yang menunjukkan apa yang mereka lakukan.

Langkah 3: Siapkan Dukungan Sensor Ultrasonik

Siapkan Dukungan Sensor Ultrasonik
Siapkan Dukungan Sensor Ultrasonik
Siapkan Dukungan Sensor Ultrasonik
Siapkan Dukungan Sensor Ultrasonik
Siapkan Dukungan Sensor Ultrasonik
Siapkan Dukungan Sensor Ultrasonik

Ambil selembar karton dan potong sesuai dengan dimensi kabel penghubung yang terpasang pada sensor seperti yang ditunjukkan pada gambar pertama. Setelah itu, lipat yang terakhir ini dan rekatkan ke penyangga motor servo. Setelah selesai, rekatkan kedua sensor ultrasonik sesuai dengan gambar terakhir. Perhatikan bahwa kepala sensor harus disolder dengan cara membiarkan kabel keluar di depan sensor. Ini akan memungkinkan kabel sensor tidak saling mengganggu saat rotasi 360 derajat diterapkan.

Langkah 4: Pasang Semuanya Ke Papan Prototyping

Pasang Semuanya Ke Papan Prototyping
Pasang Semuanya Ke Papan Prototyping
Pasang Semuanya Ke Papan Prototyping
Pasang Semuanya Ke Papan Prototyping
Pasang Semuanya Ke Papan Prototyping
Pasang Semuanya Ke Papan Prototyping

Pada langkah ini Anda akan mulai dengan memasang header yang disiapkan pada langkah sebelumnya ke masing-masing motor servo. Setelah motor servo terbiasa dengan hati-hati, Anda akan memasang semuanya bersama-sama ke dalam papan prototipe. Anda akan mulai dengan menyolder Arduino Nano kemudian dengan menempelkan servo tepat di sebelahnya. Terakhir, Anda akan menyolder layar OLED kecil di sisi lain papan.

Langkah 5: Membuat Koneksi Akhir

Membuat Koneksi Akhir
Membuat Koneksi Akhir
Membuat Koneksi Akhir
Membuat Koneksi Akhir
Membuat Koneksi Akhir
Membuat Koneksi Akhir

Langkah ini akan menyimpulkan sisi perangkat keras dari proyek ini. Anda harus mengikuti skema yang disediakan untuk membuat semua koneksi yang diperlukan.

Langkah 6: Mem-boot Program

Mem-boot Program
Mem-boot Program

Ada Dua kode yang Anda perlukan untuk boot

Arduino (C):

Pemrosesan (java):

Saat menjalankan kode, Anda akan memiliki dua opsi untuk dipilih:

Opsi 1: Menggunakan Tampilan OLED, untuk itu Anda perlu mengatur MODE variabel dalam kode C ke 0.

Opsi 2: Menggunakan Monitor Anda, untuk itu Anda perlu mengatur variabel MODE dalam kode C ke 1. Selain itu, Anda perlu mengunduh dan menginstal Processing development environment dan mengunduh font radar dari tautan ini: https:// github.com/lastralab/ArduinoRadar/blob/ma…

Dan tambahkan file itu ke file kode pemrosesan Anda sehingga kode java Anda akan mengenali font saat dipanggil.

Langkah 7: Memahami Kode C

Memahami Kode C
Memahami Kode C

Kode ini terutama terdiri dari dua loop 'untuk'. Yang satu berkorelasi dengan umpan maju sedangkan yang lain dengan umpan mundur. Di dalam keduanya, fungsi utama draw_scanner(), yang akan menggambar garis radar ke layar, dipanggil berkali-kali. Setelah menguji beberapa konfigurasi, saya sampai pada kesimpulan bahwa kita perlu menimpa garis radar putih pada waktu t dengan garis radar yang sama dalam warna hitam pada waktu t+1 untuk menghapusnya. Jika sebaliknya, kedipan akan terjadi setiap kali Anda membersihkan layar menggunakan fungsi “clearDisplay()” sebelum mendorong kisi piksel baru. Saat saya berurusan dengan 7 baris – untuk tujuan desain- saya harus terus menyimpan dan melewatkan array bilangan bulat dari 7 elemen, di mana setiap elemen mewakili radius antara pusat radar ke objek yang terdeteksi, jika ada. Dengan mengingat hal ini, sisa kode harus mudah dipahami.

Langkah 8: Memahami Kode Java

Dalam Pemrosesan, saya harus melewati panggilan fungsi untuk serialEvent(), yang hanya berfungsi dengan port serial bernama COM. Saat saya bekerja di Mac, port serial saya diberi nama yang berbeda. Karena itu, saya membongkar fungsi itu ke dalam fungsi utama dalam memproses "draw()". Mengenai yang lainnya, saya telah memperbarui aplikasi untuk memenuhi desain revolusi penuh. Akhirnya, saya memperbarui semua bentuk dan teks yang digambar sehubungan dengan lebar layar sehingga produk akhir akan sesuai dengan resolusi layar yang berbeda. Saya pribadi telah mengujinya untuk resolusi 1000X1000 dan 500X500, dan itu bekerja dengan baik:).

Langkah 9: Kesimpulan

Pekerjaan ini dapat ditingkatkan untuk memiliki 3 sensor Ultrasonik, masing-masing mencakup 120 sudut pandang, atau bahkan 4 sensor (90 derajat*4) -> lebih cepat 360 derajat. memindai.

Anda juga dapat memperluas jangkauan radar dari 40 cm menjadi 60 cm atau bahkan 80 cm. Saya pribadi telah menguji fungsi pulseIn dan menyesuaikan variabel TIMEOUT terhadap 40 cm. Variabel ini tergantung pada banyak faktor, termasuk panjang pengiriman pulsa dan permukaan objek tempat pulsa dipantulkan.

Akhirnya seperti yang dinyatakan sebelumnya, langkah selanjutnya adalah menggabungkan radarDuino dengan robot penggerak untuk memindai perimeter di sekitarnya.

Direkomendasikan: