Isi kandungan:

Radar Inframerah Dengan Arduino: 6 Langkah
Radar Inframerah Dengan Arduino: 6 Langkah

Video: Radar Inframerah Dengan Arduino: 6 Langkah

Video: Radar Inframerah Dengan Arduino: 6 Langkah
Video: Arduino Missile Defense Radar System in ACTION 2024, November
Anonim
Image
Image

Dalam projek kecil ini saya ingin menunjukkan kepada anda bagaimana anda boleh membuat Radar di Rumah dengan Arduino yang ringkas. Terdapat banyak projek serupa di internet, tetapi semuanya menggunakan sensor ultrasonik untuk mengukur jarak. Dalam projek ini saya menggunakan sensor inframerah untuk pengukuran jarak.

Tujuan saya adalah untuk mewujudkan sistem LIDAR yang sangat mudah dan murah dengannya dan melaksanakan peranti pemetaan.

Bekalan

  • Arduino (saya menggunakan Maple Mini)
  • Sensor jarak tajam (saya menggunakan Sharp GP2Y0A02YK0F)
  • Servo Mikro (9g)
  • Papan roti, wayar
  • Pilihan: Perintang 4.7k, Kapasitor 100nF

Langkah 1: Sensor Inframerah Ultrasonik VS

Skematik
Skematik

Perbezaan utama antara sensor jarak ultrasonik dan inframerah adalah bahawa sensor ultrasonik mengukur jarak dalam jarak yang lebih luas. Oleh itu ia tidak dapat menentukan kedudukan halangan dengan tepat. Ini bermaksud mengukur jarak objek terdekat yang terletak dalam jarak sudut ~ + -30 °.

Sudah tentu, ini tidak bermaksud bahawa sensor Sharp lebih baik. Kadang kala harta benda ini sangat berguna (mis. Digunakan oleh drone untuk mengukur ketinggian dari tanah). Pilihan yang tepat bergantung sepenuhnya kepada keperluan projek anda.

Langkah 2: Skematik

Skematik
Skematik
Skematik
Skematik

Sangat mudah untuk membuat hubungan antara bahagian. Pilih Output PWM dan Input Analog pada papan Arduino anda dan sambungkan sensor jarak Servo dan Sharp ke pin tersebut. Saya menggunakan pin berikut untuk tujuan ini:

  • PA0: Input analog untuk sensor jarak tajam
  • PA9: Output PWM untuk Servo

Kadang-kadang Sharp IR Sensor boleh mengeluarkan output yang bising, oleh itu anda harus meletakkan Low Pass Filter sederhana di atasnya. Saya menggunakan perintang 4.7k dan kapasitor 100nF untuk mengurangkan bunyi pada pin analog. Selain itu saya juga menyaring nilai yang diukur dalam kod dengan membacanya berkali-kali dan mengira rata-rata.

Langkah 3: Ciri Sensor

Ciri Sensor
Ciri Sensor
Ciri Sensor
Ciri Sensor

Malangnya sensor jarak inframerah yang digunakan mempunyai ciri tidak linear. Ini bermaksud bahawa untuk mendapatkan jarak, tidak cukup untuk mengalikan nilai ADC yang diukur dengan nilai malar dan menambahkan nilai malar yang lain.

Walaupun lembar data sensor memberikan ciri, saya lebih suka mengukurnya sendiri dalam projek tertentu (ia mungkin bergantung pada voltan yang digunakan). Untuk ini, saya membuat pasangan dari Nilai dan jarak ADC yang diukur untuk setiap 10 cm. (Sensor saya dapat mengukur jarak yang betul dari 12 cm).

Saya menggunakan pasangan ini dalam kod untuk mendapatkan jarak yang betul dengan Interpolasi Linear.

Anda akan menemui kod Arduino ringkas di akhir dokumen, untuk mengukur Nilai ADC semasa pengukuran ciri.

Langkah 4: Komunikasi Bersiri

Komunikasi Bersiri
Komunikasi Bersiri

Saya menggunakan komunikasi bersiri untuk menghantar nilai jarak-sudut yang diukur ke PC. Oleh kerana saya perlu menghantar banyak bait dan pelbagai jenis mesej, saya merancang protokol komunikasi yang mudah.

Procotol ini dapat menentukan jenis mesej yang berbeza dengan cara yang umum. Dalam projek ini saya menggunakan 2 jenis mesej:

  • Parameter: Digunakan untuk mengirim parameter ke Aplikasi PC, yang ditentukan pada Arduino seperti jarak maksimum dan jumlah rintangan dalam satu pusingan.
  • Halangan: Digunakan untuk menghantar halangan yang dikesan. Ia dikenal pasti oleh sudut servo dan jarak yang diukur. Kedudukan x-y akan dikira dengan aplikasi PC.

Langkah 5: Aplikasi Qt

Permohonan Qt
Permohonan Qt

Untuk berkomunikasi dengan Arduino dan menarik titik yang diukur seperti radar, saya membuat Aplikasi PC di Qt (C ++). Ia menerima beberapa parameter (ditentukan pada Arduino) dan titik jarak yang diukur.

Anda juga boleh memuat turun aplikasi dan kod sumbernya.

Langkah 6: Kod Sumber Arduino

Anda boleh menyesuaikan beberapa parameter di bahagian atas kod dengan makro.

Perhatikan, bahawa jika anda mengubah ciri sensor jarak Sharp, anda harus mengubah nilai array distAdcMap !

  • InfraRadar.c: Kod radar. Salin dan tampalkannya ke projek Arduino anda.
  • InfraRadarMeasurement.c: Kod untuk pengukuran ciri. Salin dan tampalkannya ke projek Arduino anda. Gunakan Konsol Bersiri untuk memeriksa Nilai ADC.

Disyorkan: