Isi kandungan:

Projek 3: SonarDuino: 9 Langkah
Projek 3: SonarDuino: 9 Langkah

Video: Projek 3: SonarDuino: 9 Langkah

Video: Projek 3: SonarDuino: 9 Langkah
Video: Sound Sensor Potentiometer Adjustment 2024, September
Anonim
Image
Image

Ahli Hobi yang dihormati, Dalam projek ini kita akan meneroka kemungkinan mempunyai sistem radar 360 darjah untuk pengesanan objek. Dengan menetapkan modul ini secara berasingan, robot pergerakan anda dapat mengesan sempadan persekitarannya. Alat ini juga dapat berfungsi sebagai alat navigasi pada waktu gelap, tetapi hanya ketika berjalan cukup lambat; h

Langkah 1: Apa yang Anda Perlu

Sediakan Sokongan Sensor Ultrasonik
Sediakan Sokongan Sensor Ultrasonik

Untuk membuat binaan ini, anda perlu membeli yang berikut:

Arduino Nano: https://www.ebay.com/itm/USB-Nano-V3-0-ATmega328-16M-5V-Micro-controller-CH340G-board-For-Arduino/201601613488?hash=item2ef0647eb0:g:DkoAAOSwvYZZpOl0: rk: 2: pf: 0

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

Servo Motors: https://www.ebay.com/itm/5pcs-POP-9G-SG90-Micro-Servo-motor-RC-Robot-Helicopter-Airplane-Control-Car-Boat/142931003420?hash=item21475a081c:rk: 16: pf: 0 & var

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:ww ~ IAAOSw - xbD5Fp: rk: 2: pf: 0

Langkah 2: Dokumentasi

Oleh kerana sebahagian daripada anda mungkin sudah mengetahui ini, projek ini diilhamkan dari projek sumber terbuka yang lain yang dipanggil "Arduino Radar Project" yang dibuat oleh Dejan dari "How to Mechatronics" @ pautan berikut: https://howtomechatronics.com/projects/arduino -radar-projek /

Perkara lain yang memerlukan dokumentasi adalah memuat turun dua perpustakaan berikut ke dalam persekitaran pengembangan anda:

Adafruit-GFX-Perpustakaan:

Adafruit_SSD1306:

Ini dikatakan, untuk benar-benar memahami kod C, anda perlu melakukan beberapa dokumentasi kedua-dua perpustakaan di atas. Selain daripada itu, fungsi yang saya gunakan dalam kod saya mempunyai nama yang menceritakan apa yang mereka lakukan.

Langkah 3: Sediakan Sokongan Sensor Ultrasonik

Sediakan Sokongan Sensor Ultrasonik
Sediakan Sokongan Sensor Ultrasonik
Sediakan Sokongan Sensor Ultrasonik
Sediakan Sokongan Sensor Ultrasonik
Sediakan Sokongan Sensor Ultrasonik
Sediakan Sokongan Sensor Ultrasonik

Ambil sekeping kadbod dan potong mengikut dimensi kabel penghubung yang terpasang pada sensor seperti yang ditunjukkan pada gambar pertama. Selepas itu, lipat yang terakhir dan lekatkan ke sokongan motor servo. Setelah selesai, tempelkan dua sensor ultrasonik mengikut gambar terakhir. Perhatikan bahawa header sensor harus disolder dengan cara membiarkan kabel keluar ke depan di hadapan sensor. Ini akan membolehkan kabel sensor tidak saling mengganggu ketika putaran 360 darjah dilaksanakan.

Langkah 4: Pasang Segalanya Ke Papan Prototaip

Pasang Segalanya Ke Papan Prototaip
Pasang Segalanya Ke Papan Prototaip
Pasang Segalanya Ke Papan Prototaip
Pasang Segalanya Ke Papan Prototaip
Pasang Segalanya Ke Papan Prototaip
Pasang Segalanya Ke Papan Prototaip

Pada langkah ini, anda akan memulakan dengan memasang header yang disiapkan pada langkah sebelumnya ke motor servo masing-masing. Setelah motor servo terbiasa dengan teliti, anda akan memasangkan semuanya ke papan prototaip. Anda akan bermula dengan menyolder Arduino Nano kemudian dengan melekatkan servo tepat di sebelahnya. Akhirnya anda akan menyolder paparan OLED kecil di tepi papan yang lain.

Langkah 5: Membuat Sambungan Akhir

Membuat Sambungan Akhir
Membuat Sambungan Akhir
Membuat Sambungan Akhir
Membuat Sambungan Akhir
Membuat Sambungan Akhir
Membuat Sambungan Akhir

Langkah ini akan menyimpulkan bahagian perkakasan projek ini. Anda perlu mengikuti skema yang disediakan untuk mewujudkan semua sambungan yang diperlukan.

Langkah 6: Memulakan Program

Memulakan Program
Memulakan Program

Terdapat dua kod yang anda perlukan untuk boot

Arduino (C):

Pemprosesan (java):

Semasa menjalankan kod, anda akan mempunyai dua pilihan untuk dipilih:

Pilihan 1: Menggunakan Paparan OLED, untuk itu anda perlu menetapkan MODE pemboleh ubah dalam kod C ke 0.

Pilihan 2: Menggunakan Monitor Anda, untuk itu anda perlu menetapkan MODE pemboleh ubah dalam kod C ke 1. Di samping itu, anda perlu memuat turun dan memasang persekitaran pemprosesan Pemprosesan dan memuat turun fon radar dari pautan ini: https:// github.com/lastralab/ArduinoRadar/blob/ma…

Dan tambahkan fail itu ke fail kod pemprosesan anda sehingga kod java anda akan mengenali fon ketika dipanggil.

Langkah 7: Memahami Kod C

Memahami Kod C
Memahami Kod C

Kod ini terdiri daripada dua gelung 'untuk'. Satu dihubungkan dengan hantaran ke depan sementara yang lain dengan hantaran ke belakang. Di dalam keduanya, fungsi utama draw_scanner (), yang akan menarik garis radar ke layar, dipanggil berkali-kali. Setelah menguji pelbagai konfigurasi, saya sampai pada kesimpulan bahawa kita perlu menimpa garis radar putih pada waktu t dengan garis radar yang sama hitam pada waktu t + 1 untuk menghapusnya. Jika sebaliknya, kerlipan akan terjadi setiap kali Anda membersihkan layar menggunakan fungsi "clearDisplay ()" sebelum mendorong grid piksel baru. Semasa saya berurusan dengan 7 baris - untuk tujuan reka bentuk - saya harus terus menyimpan dan melewati bilangan bulat 7 elemen, di mana setiap elemen berdiri untuk radius antara pusat radar ke objek yang dikesan, jika ada. Dengan ini, kod yang selebihnya harus lurus ke hadapan untuk difahami.

Langkah 8: Memahami Kod Java

Dalam Pemprosesan, saya harus memotong fungsi panggilan untuk serialEvent (), yang hanya berfungsi dengan port bersiri bernama COM. Semasa saya menggunakan Mac, port bersiri saya mempunyai nama yang berbeza. Oleh itu, saya membongkar fungsi tersebut menjadi fungsi utama dalam memproses "draw ()". Mengenai perkara lain, saya telah mengemas kini aplikasi untuk memenuhi reka bentuk revolusi sepenuhnya. Akhirnya, saya mengemas kini semua bentuk dan teks yang dilukis berkenaan dengan lebar skrin supaya produk akhir sesuai dengan resolusi skrin yang berbeza. Saya sendiri telah mengujinya untuk resolusi 1000X1000 dan 500X500, dan ia berfungsi dengan baik:).

Langkah 9: Kesimpulannya

Kerja ini dapat ditingkatkan menjadi 3 sensor Ultrasonik, masing-masing meliputi 120 sudut pandangan, atau bahkan 4 sensor (90 darjah * 4) -> 360 darjah lebih pantas. imbas.

Anda juga boleh memperluas jangkauan radar dari 40 cm hingga 60 cm atau bahkan 80 cm. Saya secara peribadi telah menguji fungsi pulseIn dan menyesuaikan pemboleh ubah TIMEOUT dengan jarak 40 cm. Pemboleh ubah ini bergantung kepada banyak faktor, termasuk panjang denyut nadi dan permukaan objek di mana nadi dipantulkan.

Akhirnya seperti yang dinyatakan sebelumnya, langkah seterusnya adalah menggabungkan radarDuino dengan robot pergerakan untuk mengimbas perimeter sekitarnya.

Disyorkan: