Bagaimana Menghubungkan Pengintai Ultrasonik HC-SR04 Ke Arduino

Daftar Isi:

Bagaimana Menghubungkan Pengintai Ultrasonik HC-SR04 Ke Arduino
Bagaimana Menghubungkan Pengintai Ultrasonik HC-SR04 Ke Arduino
Anonim

Pada artikel ini, kami akan menghubungkan sonar pengintai ultrasonik HC-SR04 ke Arduino.

Sensor ultrasonik HC-SR04
Sensor ultrasonik HC-SR04

Diperlukan

  • -Arduino;
  • - sensor ultrasonik HC-SR04;
  • - kabel penghubung.

instruksi

Langkah 1

Tindakan pengintai ultrasonik HC-SR04 didasarkan pada prinsip ekolokasi. Ini memancarkan impuls suara ke luar angkasa dan menerima sinyal yang dipantulkan dari rintangan. Jarak ke objek ditentukan oleh waktu rambat gelombang suara ke rintangan dan kembali.

Gelombang suara dipicu dengan menerapkan pulsa positif minimal 10 mikrodetik ke kaki TRIG pengintai. Segera setelah pulsa berakhir, pengintai memancarkan ledakan pulsa suara dengan frekuensi 40 kHz ke ruang di depannya. Pada saat yang sama, algoritma untuk menentukan waktu tunda sinyal yang dipantulkan diluncurkan, dan unit logis muncul di kaki ECHO dari pengintai. Segera setelah sensor mendeteksi sinyal yang dipantulkan, logika nol muncul pada pin ECHO. Durasi sinyal ini ("Echo delay" pada gambar) menentukan jarak ke objek.

Rentang pengukuran jarak pengintai HC-SR04 - hingga 4 meter dengan resolusi 0,3 cm. Sudut pengamatan - 30 derajat, sudut efektif - 15 derajat. Konsumsi saat ini dalam mode siaga adalah 2 mA, selama operasi - 15 mA.

Prinsip pengoperasian pengintai ultrasonik HC-SR04
Prinsip pengoperasian pengintai ultrasonik HC-SR04

Langkah 2

Catu daya pengintai ultrasonik dilakukan dengan tegangan +5 V. Dua pin lainnya terhubung ke port digital Arduino apa pun, kami akan terhubung ke 11 dan 12.

Menghubungkan HC-SR04 Ultrasonic Rangefinder ke Arduino
Menghubungkan HC-SR04 Ultrasonic Rangefinder ke Arduino

Langkah 3

Sekarang mari kita menulis sketsa yang menentukan jarak ke penghalang dan mengeluarkannya ke port serial. Pertama, kami mengatur nomor pin TRIG dan ECHO - ini adalah pin 12 dan 11. Kemudian kita mendeklarasikan trigger sebagai output dan echo sebagai input. Kami menginisialisasi port serial pada 9600 baud. Pada setiap pengulangan loop (), kami membaca jarak dan mengeluarkannya ke port.

Fungsi getEchoTiming() menghasilkan pulsa pemicu. Itu hanya menciptakan arus pulsa 10 mikrodetik, yang merupakan pemicu dimulainya radiasi oleh pengintai paket suara ke luar angkasa. Kemudian dia mengingat waktu dari awal transmisi gelombang suara hingga kedatangan gema.

Fungsi getDistance() menghitung jarak ke objek. Dari pelajaran fisika sekolah, kita ingat bahwa jarak sama dengan kecepatan dikalikan waktu: S = V * t. Cepat rambat bunyi di udara adalah 340 m/s, waktu dalam mikrodetik yang kita kenal adalah “duratuion”. Untuk mendapatkan waktu dalam detik, bagi dengan 1.000.000. Karena suara menempuh jarak dua kali - ke objek dan kembali - Anda perlu membagi jarak menjadi dua. Jadi ternyata jarak ke benda S = 34000 cm / detik * durasi / 1.000.000 detik / 2 = 1,7 cm / detik / 100, yang kami tulis di sketsa. Mikrokontroler melakukan perkalian lebih cepat daripada pembagian, jadi saya mengganti "/ 100" dengan setara "* 0, 01".

Sketsa untuk bekerja dengan sonar ultrasonik HC-SR04
Sketsa untuk bekerja dengan sonar ultrasonik HC-SR04

Langkah 4

Juga, banyak perpustakaan telah ditulis untuk bekerja dengan pengintai ultrasonik. Misalnya, yang ini: https://robocraft.ru/files/sensors/Ultrasonic/HC-SR04/ultrasonic-HC-SR04.zip. Perpustakaan diinstal dengan cara standar: unduh, unzip ke direktori perpustakaan, yang terletak di folder dengan Arduino IDE. Setelah itu, perpustakaan dapat digunakan.

Setelah menginstal perpustakaan, mari kita menulis sketsa baru. Hasil kerjanya sama - monitor port serial menampilkan jarak ke objek dalam sentimeter. Jika Anda menulis float dist_cm = ultrasonik. Ranging (INC); dalam sketsa, maka jarak akan ditampilkan dalam inci.

Sketsa sonar ultrasonik menggunakan perpustakaan
Sketsa sonar ultrasonik menggunakan perpustakaan

Langkah 5

Jadi, kami menghubungkan pengintai ultrasonik HC-SR04 ke Arduino dan menerima data darinya dengan dua cara berbeda: menggunakan perpustakaan khusus dan tanpa.

Keuntungan menggunakan perpustakaan adalah jumlah kode berkurang secara signifikan dan keterbacaan program ditingkatkan, Anda tidak perlu mempelajari seluk-beluk perangkat dan Anda dapat langsung menggunakannya. Tapi ini juga kekurangannya: Anda kurang memahami cara kerja perangkat dan proses apa yang terjadi di dalamnya. Bagaimanapun, metode mana yang akan digunakan terserah Anda.

Direkomendasikan: