Daftar Isi:

Deteksi Rintangan Secara Asinkron Dengan Ultrasound: 4 Langkah
Deteksi Rintangan Secara Asinkron Dengan Ultrasound: 4 Langkah

Video: Deteksi Rintangan Secara Asinkron Dengan Ultrasound: 4 Langkah

Video: Deteksi Rintangan Secara Asinkron Dengan Ultrasound: 4 Langkah
Video: CARA CEK KONDISI MOTOR INDUKSI 3 PHASE 2024, Juli
Anonim
Deteksi Rintangan Secara Asinkron Dengan Ultrasound
Deteksi Rintangan Secara Asinkron Dengan Ultrasound

Saya sedang membangun untuk bersenang-senang robot yang ingin saya gerakkan secara mandiri di dalam rumah.

Ini adalah pekerjaan yang panjang dan saya melakukan langkah demi langkah.

Fokus instruksional ini pada deteksi rintangan dengan Arduino Mega

Sensor ultrasonik HC-SR04 vs HY-SRF05 murah dan mudah digunakan tetapi dapat menjadi sulit untuk diintegrasikan dalam loop mikrokontroler dalam robot yang kompleks. Saya ingin menjalankan deteksi rintangan dengan cara yang tidak sinkron.

_

Saya sudah menerbitkan 3 instruksi tentang fitur robot ini:

  • Buat encoder roda Anda
  • Jadikan Gerbang WIFI Anda
  • Gunakan Unit Modul Inersia

Dan dokumentasi tentang menggabungkan kecerdasan buatan dan ultrasound untuk melokalisasi robot.

Langkah 1: Apa Sebenarnya Masalah Dengan Sensor Ultrasonik dan Mikrokontroler?

Apa Sebenarnya Masalah Dengan Sensor Ultrasonik dan Mikrokontroler?
Apa Sebenarnya Masalah Dengan Sensor Ultrasonik dan Mikrokontroler?
Apa Sebenarnya Masalah Dengan Sensor Ultrasonik dan Mikrokontroler?
Apa Sebenarnya Masalah Dengan Sensor Ultrasonik dan Mikrokontroler?

Penantian sinkron dan batasan Arduino

Kode mikrokontroler berjalan dalam satu lingkaran dan tidak mendukung multi-utas. Sensor ultrasonik didasarkan pada durasi sinyal. Durasi ini berlangsung hingga 30 mdtk yang sangat lama untuk menunggu di dalam loop ketika mikrokontroler harus berurusan dengan banyak motor dan sensor (misalnya motor servo dan DC dengan enkoder roda).

Jadi saya ingin mengembangkan objek yang berjalan secara tidak sinkron.

Langkah 2: Bagaimana Cara Kerjanya?

Bagaimana cara kerjanya ?
Bagaimana cara kerjanya ?

Ini telah dirancang untuk Atmega untuk deteksi rintangan. Ini mendukung hingga 4 sensor ultrasonik.

Berkat gangguan waktu berkala, sistem dapat memantau hingga 4 sensor ultrasonik. Kode utama hanya menentukan sensor mana yang akan diaktifkan dengan kondisi dan ambang batas. Yang utama akan diinterupsi hanya jika (kondisi, ambang batas) muncul.

Fungsi utamanya adalah:

  • Peringatan adalah deteksi rintangan dasar dan memberikan interupsi jika setidaknya 1 dari 4 sensor mendeteksi jarak di bawah ambang batasnya
  • Monitor adalah fungsi tambahan yang menyediakan interupsi pada kombinasi kondisi jarak hingga 4 sensor. Kondisi yang memungkinkan adalah over, under, equal atau not equal to threshold.

Langkah 3: Detail Teknis

Gunakan timer4 sehingga pin 6 7 8 tidak dapat digunakan sebagai PWM.

Untuk setiap sensor objek membutuhkan PIN pemicu dan PIN interupsi.

Di atas sensor interupsi PIN, objek membutuhkan PIN interupsi lain untuk penggunaan perangkat lunak.

Langkah 4: Bagaimana Menerapkannya?

Bagaimana Menerapkan?
Bagaimana Menerapkan?

Hubungkan sensor seperti di atas

Unduh dari repositori GitHub ini

  • EchoObstacleDetection.cpp,
  • EchoObstacleDetection.h
  • ContohEchoObstacleDetection.ino

Buat direktori EchoObstacleDetection di dalam pustaka IDE Anda dan pindahkan.cpp dan.h

Menguji

Buka ContohEchoObstacleDetection.ino.

Ini adalah contoh pendeteksian rintangan sederhana yang dijalankan dengan 2 sensor ultrasonik.

Output diarahkan pada monitor serial. Pada awalnya akan mencetak jarak yang terdeteksi oleh 2 sensor dan kemudian mencetak peringatan tergantung pada jarak di bawah ambang batas.

Direkomendasikan: