Talaan ng mga Nilalaman:

Dual Sensor Echo Locator: 7 Hakbang (na may Mga Larawan)
Dual Sensor Echo Locator: 7 Hakbang (na may Mga Larawan)

Video: Dual Sensor Echo Locator: 7 Hakbang (na may Mga Larawan)

Video: Dual Sensor Echo Locator: 7 Hakbang (na may Mga Larawan)
Video: Touring A Mega Mansion With A 3-Story Living Wall! 2024, Nobyembre
Anonim
Image
Image
Dual Sensor Echo Locator
Dual Sensor Echo Locator
Dual Sensor Echo Locator
Dual Sensor Echo Locator

Ang itinuturo na ito ay nagpapaliwanag kung paano matukoy ang lokasyon ng isang bagay gamit ang isang Arduino, dalawang mga ultrasonikong sensor, at ang formula ni Heron para sa mga triangles. Walang mga gumagalaw na bahagi.

Pinapayagan ka ng formula ni Heron na kalkulahin ang lugar ng anumang tatsulok na kung saan kilala ang lahat ng panig. Kapag alam mo ang lugar ng isang tatsulok, makakalkula mo ang posisyon ng isang solong bagay (na may kaugnayan sa isang kilalang baseline) gamit ang trigonometry at Pythagoras.

Ang kawastuhan ay mahusay. Ang mga malalaking lugar ng pagtuklas ay posible gamit ang karaniwang magagamit na HC-SR04, o HY-SRF05, mga ultrasonic sensor.

Ang konstruksyon ay simple … ang kailangan mo lang ay isang matalim na kutsilyo, dalawang drills, isang bakal na panghinang, at isang lagari sa kahoy.

Mga imahe

  • Ipinapakita ng video clip ang yunit na umaandar.
  • Ipinapakita sa larawan 1 ang tipunin na "tagahanap ng echo"
  • Ipinapakita ng Larawan 2 ang isang karaniwang pagpapakita. Ang object ay ang pula (flashing) tuldok.
  • Ipinapakita ng larawan 3 ang pag-set up ng pagsubok ng video. Kinakailangan na iposisyon ang dalawang HY-SRF05 ultrasonic sensor na 50cm sa ibaba ng baseline upang ganap na "mailawan" ang lugar ng pagtuklas gamit ang tunog.

Hakbang 1: Diagram ng Mga Kable

Diagram ng Kable
Diagram ng Kable

Ipinapakita sa larawan 1 ang diagram ng mga kable para sa "dual sensor echo locator".

Ang Sensor B ay nai-render na "passive" sa pamamagitan ng paglalagay ng maraming mga layer ng masking tape sa transducer ng transmit (T). Hinahadlangan ng tape na ito ang tunog na ultrasonic na kung hindi man ay mailalabas.

Hakbang 2: Listahan ng Mga Bahagi

Listahan ng Mga Bahagi
Listahan ng Mga Bahagi

Tulad ng ipinakita sa photo1, napakakaunting mga bahagi ang kinakailangan upang makumpleto ang proyektong ito:

Ang mga sumusunod na bahagi ay nakuha mula sa

  • 1 lang ang Arduino Uno R3 kumpleto sa USB cable
  • 2 lamang HY-SRF05, o HC-SR04, mga ultrasonic transducer

Ang mga sumusunod na bahagi ay nakuha nang lokal:

  • 1 tanging male arduino header strip
  • 2 mga babaeng headline stripe lamang ng arduino
  • 2 mga piraso lamang ng scrap aluminyo
  • 2 maliit na piraso lamang ng kahoy
  • 2 maliit na turnilyo lamang
  • 3 lamang ang mga kurbatang kurdon
  • 4 lamang ang haba ng plastik na pinahiran na wire (sari-saring kulay) [1]

Tandaan

[1]

Ang kabuuang haba ng bawat kawad ay dapat na katumbas ng nais na distansya sa pagitan ng mga sensor kasama ang isang maliit na halaga para sa paghihinang. Ang mga wires pagkatapos ay i-twisted magkasama upang bumuo ng isang cable.

Hakbang 3: Teorya

Teorya
Teorya
Teorya
Teorya
Teorya
Teorya

Mga pattern ng Beam

Ipinapakita ng Larawan 1 ang mga overlap na pattern ng sinag para sa transducer A at transducer B.

Ang Sensor A ay makakatanggap ng isang echo mula sa anumang bagay sa "pulang lugar".

Makakatanggap lamang ng isang echo ang Sensor B kung ang bagay ay nasa "lugar na gusto". Sa labas ng lugar na ito ay hindi posible na matukoy ang coordinate ng isang bagay. [1]

Ang mga malalaking "mauve" na lugar ng pagtuklas ay posible kung ang mga sensor ay malawak na spaced.

Kalkulasyon

Na may sanggunian sa larawan 2:

Ang lugar ng anumang tatsulok ay maaaring kalkulahin mula sa pormula:

lugar = base * taas / 2 …………………………………………………………………………. (1)

Ang pag-aayos ng equation (1) ay nagbibigay sa amin ng taas (Y-coordinate):

taas = lugar * 2 / base …………………………………………………………………………. (2)

Sa ngayon napakahusay … ngunit paano namin makalkula ang lugar?

Ang sagot ay ang puwang ng dalawang mga ultrasonic transducer isang kilalang distansya (baseline) at sukatin ang distansya ng bawat sensor ay mula sa bagay na gumagamit ng ultrasound.

Ipinapakita ng Larawan 2 kung paano ito posible.

Nagpapadala ang Transducer A ng isang pulso na tumatalbog sa bagay sa lahat ng direksyon. Ang pulso na ito ay naririnig ng parehong transducer A at transducer B. Walang pulso na ipinadala mula sa transducer B… nakikinig lamang ito.

Ang return path sa transducer A ay ipinapakita sa pula. Kapag nahahati sa dalawa at ang bilis ng tunog ay nabanggit, maaari nating kalkulahin ang distansya na "d1" mula sa pormula: [2]

d1 (cm) = oras (microseconds) / 59 …………………………………………… (3)

Ang landas sa transducer B ay ipinapakita sa asul. Kung ibabawas natin ang distansya na "d1" mula sa haba ng landas na ito makukuha natin ang distansya na "d2". Ang pormula para sa pagkalkula ng "d2" ay: [3]

d2 (cm) = oras (microseconds / 29.5 - d1 …………………………………….. (4)

Nasa amin ngayon ang haba ng lahat ng tatlong panig ng tatsulok na ABC … ipasok ang "Heron"

Pormula ni Heron

Gumagamit ang pormula ni Heron ng isang bagay na tinatawag na "semi-perimeter" kung saan idinagdag mo ang bawat isa sa tatlong panig ng isang tatsulok at hatiin ang resulta sa dalawa:

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

Ang lugar ay maaari na ngayong kalkulahin gamit ang sumusunod na pormula:

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

Kapag nalalaman na natin ang lugar maaari nating kalkulahin ang taas (Y-coordinate) mula sa equation (2) sa itaas.

Pythagoras

Ang X-coordinate ay maaari na ngayong kalkulahin sa pamamagitan ng pag-drop ng isang patayo mula sa tatsulok na taluktok sa baseline upang lumikha ng isang tatsulok na may tamang anggulo. Ang X-coordinate ay maaari na ngayong kalkulahin gamit ang Pythagoras:

c1 = sqrt (b2 - h2) ……………………………………………………………………….. (7)

Mga tala

[1]

Ang target na lugar ay maaaring ganap na "naiilawan" na may tunog sa pamamagitan ng pagposisyon ng mga sensor sa ibaba ng baseline.

[2]

Ang halaga ng 59 para sa pare-pareho ay nakuha tulad ng sumusunod:

Ang bilis ng tunog ay humigit-kumulang na 340m / S na kung saan ay 0.034cm / uS (sentimetro / microsceond).

Ang katumbasan na 0.034cm / uS ay 29.412uS / cm kung saan, kapag pinarami ng 2 upang payagan ang landas sa pagbabalik, katumbas ng 58.824 o 59 kapag bilugan.

Ang halagang ito ay maaaring iakma pataas / pababa upang maisip ang temperatura ng hangin, kahalumigmigan, at presyon.

[3]

Ang halaga ng 29.5 para sa pare-pareho ay nakuha tulad ng sumusunod:

Walang path na bumalik kaya gumagamit kami ng 29.5 na kalahati ng halagang ginamit sa [2] sa itaas.

Hakbang 4: Konstruksiyon

Konstruksyon
Konstruksyon
Konstruksyon
Konstruksyon

Mga tumataas na braket

Dalawang mga mounting bracket ang ginawa mula sa 20 gauge aluminyo sheet gamit ang pamamaraang inilarawan sa aking itinuturo

Ang mga sukat para sa aking mga braket ay ipinapakita sa larawan 1.

Ang dalawang butas na minarkahang "baseline" ay para sa paglakip ng isang string sa bawat sensor. Itali lang ang string sa kinakailangang spacing para sa madaling pag-setup.

Mga socket ng sensor

Ang mga socket ng sensor (larawan 2) ay na-istilo mula sa karaniwang mga socket ng header ng Arduino.

Ang lahat ng mga hindi ginustong mga pin ay nakuha at isang 3mm na butas na na-drill sa pamamagitan ng plastik.

Kapag ang paghihinang ng mga koneksyon ay mag-ingat na hindi maikli ang mga wire sa bracket ng aluminyo.

Pinipigilan ng pilay

Ang isang maliit na piraso ng heat-shrink tubing sa bawat dulo ng cable ay pumipigil sa mga wire na matanggal.

Ginamit ang mga ugnayan ng kable upang maiwasan ang hindi ginustong paggalaw ng cable.

Hakbang 5: Pag-install ng Software

I-install ang sumusunod na code sa order na ito:

Arduino IDE

I-download at i-install ang Arduino IDE (pinagsamang kapaligiran sa pag-unlad) mula sa https://www.arduino.cc/en/main/software kung hindi pa naka-install.

Pagpoproseso 3

Mag-download at mag-install ng Pagproseso 3 mula sa

Arduino Sketch

Kopyahin ang mga nilalaman ng nakalakip na file, "dual_sensor _echo_locator.ino", sa isang "sketch" ng Arduino, i-save, pagkatapos ay i-upload ito sa iyong Arduino Uno R3.

Isara ang Ardino IDE ngunit iwanan ang koneksyon ng USB cable.

Pagproseso ng Sketch

Kopyahin ang mga nilalaman ng nakalakip na file, "dual_sensor_echo_locator.pde" sa isang Pagpoproseso ng "Sketch".

Ngayon i-click ang kaliwang tuktok na "Run" na pindutan … isang graphic screen ang dapat lumitaw sa iyong screen.

Hakbang 6: Pagsubok

Pagsubok
Pagsubok
Pagsubok
Pagsubok

Ikonekta ang Arduino USB cable sa iyong PC ang

Patakbuhin ang "dual_sensor_echo_locator.pde" sa pamamagitan ng pag-click sa pindutan ng "itaas na kaliwa" na run sa iyong Processing 3 IDE (integrated development environment).

Ang mga numero, na pinaghiwalay ng isang kuwit ay dapat magsimulang mag-streaming pababa sa iyong screen tulad ng ipinakita sa larawan1.

Mensahe ng error sa pagsisimula

Maaari kang makakuha ng isang mensahe ng error sa pagsisimula.

Kung gayon palitan ang [0] sa linya 88 ng larawan 1 upang tumugma sa bilang na nauugnay sa iyong port na "COM".

Maraming mga "COM" na port ang maaaring nakalista depende sa iyong system. Gagana ang isa sa mga numero.

Sa larawan 1 ang bilang na [0] ay naiugnay sa aking "COM4".

Pagpoposisyon ng iyong mga sensor

I-space ang iyong mga sensor ng 100cm na hiwalay sa object na 100cm sa harap.

Paikutin nang mabagal ang parehong mga sensor patungo sa pahilis na magkasalungat na sulok ng isang haka-haka na 1 metro kuwadradong.

Habang paikutin mo ang mga sensor, makakakita ka ng isang posisyon kung saan lilitaw ang isang kumikislap na pulang tuldok sa display ng graphics.

Lilitaw din ang karagdagang data (larawan 2) sa sandaling natagpuan ng mga sensor ang iyong object:

  • distansya1
  • distansya2
  • baseline
  • offset
  • semi-perimeter
  • lugar
  • X coordinate
  • Ko coordinate

Hakbang 7: Ipakita

Ipakita
Ipakita

Ang display ay nakasulat gamit ang Pagproseso ng 3 … isang basang 100cm ay ipinapakita.

Ang pagbabago ng baseline

Baguhin natin ang aming baseline mula 100cm hanggang 200cm:

Baguhin ang "float Baseline = 100;" sa Processing header na basahin ang "float Baseline = 200;"

Baguhin ang mga label na "50" at "100" sa pagproseso ng "draw_grid ()" na gawain upang mabasa ang "100" at "200".

Pagbabago ng offset

Ang mga mas malalaking target na lugar ay maaaring subaybayan kung iposisyon namin ang mga sensor sa ibaba ng baseline.

Ang isang variable na "Offset" sa header ng Pagproseso ay dapat mabago kung pinili mo itong gawin.

Mag-click dito upang matingnan ang aking iba pang mga itinuturo.

Inirerekumendang: