Mundarija:

Ikkita sensorli echo joylashuvi: 7 qadam (rasmlar bilan)
Ikkita sensorli echo joylashuvi: 7 qadam (rasmlar bilan)

Video: Ikkita sensorli echo joylashuvi: 7 qadam (rasmlar bilan)

Video: Ikkita sensorli echo joylashuvi: 7 qadam (rasmlar bilan)
Video: 2024 DACIA DUSTER: Hamyonbop SUV uslubidagi innovatsiyalarni qayta aniqlash 2024, Noyabr
Anonim
Image
Image
Ikkita sensorli echo joylashuvi
Ikkita sensorli echo joylashuvi
Ikki tomonlama sensorli echo joylashuvi
Ikki tomonlama sensorli echo joylashuvi

Bu ko'rsatma Arduino, ikkita ultratovush sensori va Heronning uchburchaklar formulasi yordamida ob'ektning joylashishini aniqlashni tushuntiradi. Hech qanday harakatlanuvchi qismlar yo'q.

Heron formulasi barcha tomonlari ma'lum bo'lgan har qanday uchburchakning maydonini hisoblash imkonini beradi. Uchburchakning maydonini bilganingizdan so'ng, trigonometriya va Pifagor yordamida bitta ob'ektning o'rnini (ma'lum boshlang'ich chiziqqa nisbatan) hisoblashingiz mumkin.

Aniqlik ajoyib. HC-SR04 yoki HY-SRF05 ultratovushli datchiklar yordamida katta aniqlash joylari mumkin.

Qurilish oddiy … sizga faqat o'tkir pichoq, ikkita matkap, lehimlantiruvchi temir va yog'och arra kerak.

Rasmlar

  • Videoklip qurilmaning ishlashini ko'rsatadi.
  • 1 -rasmda yig'ilgan "echo lokator" ko'rsatilgan
  • 2 -rasm odatiy displeyni ko'rsatadi. Ob'ekt - qizil (miltillovchi) nuqta.
  • 3 -rasmda video -test sozlamalari ko'rsatilgan. Aniqlanish maydonini tovush bilan to'liq "yoritish" uchun ikkita HY-SRF05 ultratovush datchiklarini asosiy chiziqdan 50 sm pastda joylashtirish kerak edi.

1 -qadam: ulanish sxemasi

Ulanish diagrammasi
Ulanish diagrammasi

1 -rasmda "dual sensorli echo lokatori" ning ulanish sxemasi ko'rsatilgan.

B sensori transmitter (T) o'tkazgichining ustiga bir necha qatlamli niqobli lenta qo'yib, "passiv" qilib ko'rsatiladi. Bu tasma aks holda chiqariladigan ultrasonik tovushni bloklaydi.

2 -qadam: qismlar ro'yxati

Qismlar ro'yxati
Qismlar ro'yxati

1 -rasmda ko'rsatilgandek, loyihani bajarish uchun juda kam qismlar kerak bo'ladi:

Quyidagi qismlar https://www.aliexpress.com/ saytidan olingan:

  • USB kabel bilan jihozlangan faqat 1 Arduino Uno R3
  • Faqat ikkita HY-SRF05 yoki HC-SR04, ultratovushli o'tkazgichlar

Quyidagi qismlar mahalliy darajada olingan:

  • Faqat bitta erkak arduino sarlavhasi
  • Faqat ikkita ayol arduino sarlavhasi
  • Faqat 2 ta alyuminiy qoldiqlari
  • 2 ta kichik yog'och bo'laklari
  • Faqat ikkita kichik vint
  • 3 faqat kabel aloqasi
  • 4 ta uzunlikdagi plastik qoplamali sim (turli xil ranglar) [1]

Eslatma

[1]

Har bir simning umumiy uzunligi datchiklar orasidagi kerakli masofaga va lehim uchun oz miqdorga teng bo'lishi kerak. Keyin simlar bir -biriga buralib, kabel hosil bo'ladi.

3 -qadam: nazariya

Nazariya
Nazariya
Nazariya
Nazariya
Nazariya
Nazariya

Yorug'lik naqshlari

1 -rasmda A va B transduserlari uchun bir -birining ustiga o'ralgan nurli naqshlar ko'rsatilgan.

A sensori "qizil maydon" dagi har qanday ob'ektdan aks sado oladi.

Sensor B faqat ob'ekt "binafsha rangda" bo'lsa, aks -sado oladi. Bu maydon tashqarisida ob'ektning koordinatasini aniqlash mumkin emas. [1]

Datchiklar bir -biridan keng masofada joylashgan bo'lsa, katta "to'q qizil" aniqlash joylari mumkin.

Hisob -kitoblar

2 -rasmga asoslanib:

Har qanday uchburchakning maydonini quyidagi formula bo'yicha hisoblash mumkin:

maydon = tayanch*balandlik/2 ……………………………………………………………. (1)

Tenglama (1) ni qayta tuzish bizga balandlikni beradi (Y koordinatasi):

balandlik = maydon*2/tayanch ………………………………………………………………. (2)

Hozircha juda yaxshi … lekin maydonni qanday hisoblaymiz?

Javob ikkita ultratovushli transduserni ma'lum masofada (asosiy chiziq) joylashtirish va ultratovush yordamida har bir sensor ob'ektdan masofani o'lchashdir.

2 -rasmda buni qanday qilish mumkinligi ko'rsatilgan.

A transduser pulsni yuboradi, u ob'ektni har tomonga uradi. Bu impulsni A va B o'tkazgichlari eshitadi.

A transduserga qaytish yo'li qizil rangda ko'rsatilgan. Ikkiga bo'linib, tovush tezligi hisobga olinsa, biz "d1" masofani formuladan hisoblashimiz mumkin: [2]

d1 (sm) = vaqt (mikrosaniyalar)/59 …………………………………………… (3)

Transduser B ga boradigan yo'l ko'k rangda ko'rsatilgan. Agar biz bu yo'l uzunligidan "d1" masofani olib tashlasak, biz "d2" masofani olamiz. "D2" ni hisoblash formulasi: [3]

d2 (sm) = vaqt (mikrosaniyalar/29,5 - d1 ……………………………….. (4)

Bizda ABC uchburchagining uch tomoni ham bor … "Heron" ga kiring.

Heron formulasi

Heron formulasida "yarim perimetr" deb nomlangan narsa ishlatiladi, unda siz uchburchakning har uch tomonini qo'shasiz va natijani ikkiga bo'lasiz:

s = (a+b+c)/2 ………………………………………………………………………. (5)

Endi maydonni quyidagi formula bo'yicha hisoblash mumkin:

maydon = sqrt (s*(s-a)*(s-b)*(s-c)) ………………………………………………… (6)

Biz maydonni bilganimizda, yuqoridagi (2) tenglamadan balandlikni (Y koordinatasini) hisoblashimiz mumkin.

Pifagor

Endi X-koordinatasini to'g'ri burchakli uchburchak yaratish uchun uchburchak tepasidan perpendikulyarni asosiy chiziqqa tushirish yo'li bilan hisoblash mumkin. Endi X koordinatasini Pifagor yordamida hisoblash mumkin:

c1 = kvadrat (b2 - h2) ………………………………………………………………………………… (7)

Eslatmalar

[1]

Datchiklarni asosiy chiziq ostiga qo'yib, maqsadli maydon tovush bilan to'liq "yoritilishi" mumkin.

[2]

Konstantaning 59 qiymati quyidagicha olingan:

Ovoz tezligi taxminan 340 m/s ni tashkil qiladi, bu 0,034 sm/s (santimetr/mikrosaniyadir).

0,034 sm/AQShning o'zaro nisbati 29,412 uS/sm ni tashkil qiladi, bu qaytish yo'lini berish uchun 2 ga ko'paytirilganda 58,824 yoki 59 ga teng.

Bu qiymat havo harorati, namlik va bosimni hisobga olgan holda yuqoriga/pastga sozlanishi mumkin.

[3]

29,5 ning doimiy qiymati quyidagicha olingan:

Qaytish yo'li yo'q, shuning uchun biz 29.5 dan foydalanamiz, bu yuqoridagi [2] qiymatning yarmiga teng.

4 -qadam: qurilish

Qurilish
Qurilish
Qurilish
Qurilish

O'rnatish qavslari

Men ko'rsatadigan

Qavslarimning o'lchamlari 1 -rasmda ko'rsatilgan.

"Asosiy chiziq" deb belgilangan ikkita teshik har bir sensorga simni ulash uchun mo'ljallangan. O'rnatishni osonlashtirish uchun ipni kerakli masofaga bog'lab qo'yish kifoya.

Sensor rozetkalari

Sensor rozetkalari (2 -rasm) standart Arduino rozetkasidan ishlab chiqarilgan.

Barcha keraksiz pinlar chiqarildi va plastmassadan 3 mm teshik ochildi.

Ulanishlarni lehimlashda alyuminiy qavsga simlarni qisqartirmang.

Kuchlanishni yumshatish

Kabelning har bir uchida issiqlik o'tkazmaydigan quvurning kichik bo'lagi simlarning uzilishiga yo'l qo'ymaydi.

Kabelning istalmagan harakatlanishining oldini olish uchun simi bog'lamlari ishlatilgan.

5 -qadam: dasturiy ta'minotni o'rnatish

Quyidagi kodni ushbu tartibda o'rnating:

Arduino IDE

Arduino IDE (integratsiyalashgan rivojlanish muhiti) ni https://www.arduino.cc/en/main/software -dan yuklab oling va o'rnating.

Qayta ishlash 3

Https://processing.org/download/ saytidan Processing 3 -ni yuklab oling va o'rnating.

Arduino eskiz

"Dual_sensor _echo_locator.ino" biriktirilgan fayl tarkibini Arduino "eskiziga" nusxa ko'chiring, so'ngra Arduino Uno R3 -ga yuklang.

Ardino IDE -ni yoping, lekin USB kabelini ulangan holda qoldiring.

Eskizni qayta ishlash

"Dual_sensor_echo_locator.pde" biriktirilgan fayl mazmunini ishlov berish "eskiziga" nusxalash.

Endi chap tomonda joylashgan "Ishga tushirish" tugmasini bosing … ekraningizda grafik ekran paydo bo'lishi kerak.

6 -qadam: Sinov

Sinov
Sinov
Sinov
Sinov

Arduino USB kabelini shaxsiy kompyuteringizga ulang

"Dual_sensor_echo_locator.pde" ni ishga tushiring, Processing 3 IDE (integratsiyalashgan ishlab chiqish muhiti) ustidagi "yuqori chap" tugmachasini bosing.

Vergul bilan ajratilgan raqamlar 1 -rasmda ko'rsatilgandek ekran bo'ylab oqishi kerak.

Ishga tushganda xato xabari

Ishga tushganda xato xabari paydo bo'lishi mumkin.

Agar shunday bo'lsa, 1 -rasmning 88 -qatoridagi [0] raqamini “COM” portingiz bilan bog'langan raqamga mos keladigan qilib o'zgartiring.

Tizimga qarab, bir nechta "COM" portlari ro'yxatga olinishi mumkin. Raqamlardan biri ishlaydi.

1 -rasmda [0] raqami mening "COM4" bilan bog'liq.

Sensorlarning joylashuvi

Sensorlarni bir -biridan 100 sm masofada, ob'ekt 100 sm oldida joylashtiring.

Ikkala datchikni xayoliy 1 metr kvadratning diagonal qarama -qarshi burchagiga sekin aylantiring.

Sensorlarni aylantirganda, siz grafik displeyda miltillovchi qizil nuqta paydo bo'ladigan joyni topasiz.

Sensorlar ob'ektingizni aniqlagandan so'ng, qo'shimcha ma'lumotlar ham paydo bo'ladi (2 -rasm):

  • masofa 1
  • masofa 2
  • boshlang'ich
  • ofset
  • yarim perimetr
  • maydon
  • X koordinatasi
  • Y koordinatasi

7 -qadam: ko'rsatish

Ko'rsatish
Ko'rsatish

Displey Processing 3 yordamida yozilgan … 100 sm bosh chizig'i ko'rsatiladi.

Asosiy chiziqni o'zgartirish

Keling, boshlang'ich chizig'imizni 100 sm dan 200 sm gacha o'zgartiring:

"Float Baseline = 100" ni o'zgartiring. ishlov berish sarlavhasida "float Baseline = 200;"

"Draw_grid ()" protsedurasidagi "50" va "100" belgilarini "100" va "200" ni o'qish uchun o'zgartiring.

Ofsetni o'zgartirish

Datchiklarni asosiy chiziq ostiga qo'yganimizda, maqsadli maydonlarni kuzatish mumkin.

Agar siz buni tanlasangiz, ishlov berish sarlavhasidagi "Ofset" o'zgaruvchisini o'zgartirish kerak.

Boshqa ko'rsatmalarni ko'rish uchun shu erni bosing.

Tavsiya: