Sisukord:

Kahe anduriga kajaotsija: 7 sammu (piltidega)
Kahe anduriga kajaotsija: 7 sammu (piltidega)

Video: Kahe anduriga kajaotsija: 7 sammu (piltidega)

Video: Kahe anduriga kajaotsija: 7 sammu (piltidega)
Video: 😫 Перечисляем слабые места VW Touareg: неужели всё так печально? 2024, November
Anonim
Image
Image
Kahe anduriga kajalokaator
Kahe anduriga kajalokaator
Kahe anduriga kajalokaator
Kahe anduriga kajalokaator

Selles juhendis selgitatakse, kuidas määrata objekti asukoht Arduino, kahe ultraheli anduri ja Heroni kolmnurkade valemi abil. Liikuvad osad puuduvad.

Heroni valem võimaldab teil arvutada mis tahes kolmnurga pindala, mille kõik küljed on teada. Kui teate kolmnurga pindala, saate trigonomeetria ja Pythagorase abil arvutada ühe objekti asukoha (teadaoleva lähtejoone suhtes).

Täpsus on suurepärane. Suured avastamispiirkonnad on võimalikud, kasutades üldkasutatavaid ultraheli andureid HC-SR04 või HY-SRF05.

Ehitus on lihtne… vajate ainult teravat nuga, kahte puurit, jootekolvi ja puusaega.

Pildid

  • Videolõik näitab seadme töötamist.
  • Foto 1 näitab kokkupandud kajalokaatorit
  • Foto 2 näitab tüüpilist ekraani. Objekt on punane (vilkuv) punkt.
  • Foto 3 näitab videotesti seadistust. Kaks HY-SRF05 ultrahelisensorit oli vaja asetada 50 cm baasjoonest allapoole, et tuvastusala heliga täielikult „valgustada“.

Samm: ühendusskeem

Juhtmestiku skeem
Juhtmestiku skeem

Foto 1 näitab „kahesensorilise kajalokaatori” ühendusskeemi.

Andur B muudetakse passiivseks, kui asetada edastus (T) anduri kohale mitu kihti maalriteipi. See lint blokeerib ultraheli, mis muidu eralduks.

Samm: osade loend

Osade nimekiri
Osade nimekiri

Nagu on näidatud fotol 1, on selle projekti lõpuleviimiseks vaja väga vähe osi:

Järgmised osad saadi saidilt

  • 1 ainult Arduino Uno R3 koos USB -kaabliga
  • 2 ainult ultraheliandurid HY-SRF05 või HC-SR04

Kohapeal saadi järgmised osad:

  • 1 ainult isane arduino päise riba
  • 2 ainult naissoost arduino päise riba
  • 2 tükki alumiiniumijäätmeid
  • 2 ainult väikesed puutükid
  • 2 ainult väikesed kruvid
  • 3 ainult kaablisidemed
  • Ainult 4 pikkusega plastkattega traati (erinevat värvi) [1]

Märge

[1]

Iga traadi kogupikkus peaks olema võrdne andurite vahelise soovitud kaugusega pluss väike kogus jootmiseks. Seejärel keeratakse juhtmed kokku, moodustades kaabli.

3. samm: teooria

Teooria
Teooria
Teooria
Teooria
Teooria
Teooria

Tala mustrid

Foto 1 näitab anduri A ja anduri B kattuvaid valgusvihumustreid.

Andur A võtab vastu kaja kõikidelt punase ala objektidelt.

Andur B võtab vastu kaja ainult siis, kui objekt asub „lillakas piirkonnas”. Väljaspool seda piirkonda ei ole võimalik objekti koordinaate määrata. [1]

Suured "lillakad" tuvastuspiirkonnad on võimalikud, kui andurid on üksteisest kaugemal.

Arvutused

Viide fotole 2:

Mis tahes kolmnurga pindala saab arvutada järgmise valemi abil:

pindala = alus*kõrgus/2 ……………………………………………………………………. (1)

Ümberkorraldusvõrrand (1) annab meile kõrguse (Y-koordinaat):

kõrgus = pindala*2/alus ……………………………………………………………………. (2)

Siiani on kõik hästi … aga kuidas me pindala arvutame?

Vastus on eraldada kaks ultraheliandurit teadaoleva kauguse (lähtejoon) kaugusele ja mõõta iga anduri kaugust objektist ultraheli abil.

Foto 2 näitab, kuidas see võimalik on.

Andur A saadab impulsi, mis põrkab objektilt igas suunas tagasi. Seda impulsi kuulevad nii andur A kui ka andur B. Andurit B ei saada.

Tagasitee andurile A on näidatud punaselt. Kui jagada kahega ja arvestada helikiirust, saame arvutada kauguse “d1” järgmise valemi abil: [2]

d1 (cm) = aeg (mikrosekundid)/59 ……………………………………………… (3)

Tee andurini B on näidatud sinisega. Kui sellest teepikkusest lahutada kaugus “d1”, saame kauguse “d2”. D2 arvutamise valem on järgmine: [3]

d2 (cm) = aeg (mikrosekundeid/29,5 - d1 …………………………………….. (4)

Nüüd on meil kolmnurga ABC kõigi kolme külje pikkus … sisestage "Heron"

Heroni valem

Heroni valemis kasutatakse nn poolperimeetrit, milles lisate kolmnurga kõik kolm külge ja jagate tulemuse kahega:

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

Pindala saab nüüd arvutada järgmise valemi abil:

pindala = ruutmeetrit (s*(s-a)*(s-b)*(s-c)) ……………………………………………………. (6)

Kui me teame ala, saame kõrguse (Y-koordinaat) arvutada ülaltoodud võrrandi (2) alusel.

Pythagoras

X-koordinaadi saab nüüd arvutada, laskes kolmnurga tipust risti algjoonega täisnurkse kolmnurga loomiseks. X-koordinaadi saab nüüd arvutada Pythagorase abil:

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

Märkused

[1]

Sihtpiirkonda saab heli abil täielikult valgustada, asetades andurid baasjoonest allapoole.

[2]

Konstandi väärtus 59 tuletatakse järgmiselt:

Heli kiirus on umbes 340 m/S, mis on 0,034 cm/uS (sentimeetrit/mikrosekund).

Vastastikune väärtus 0,034 cm/uS on 29,412 uS/cm, mis tagasituleku võimaldamiseks korrutatuna 2 -ga võrdub ümardamisel 58,824 või 59.

Seda väärtust võib õhu temperatuuri, niiskuse ja rõhu arvestamiseks üles/alla reguleerida.

[3]

Konstandi väärtus 29,5 tuletatakse järgmiselt:

Tagasiteed pole, seega kasutame 29,5, mis on pool ülaltoodud [2] väärtusest.

4. samm: ehitamine

Ehitus
Ehitus
Ehitus
Ehitus

Kinnitusklambrid

Kaks kinnitusklambrit valmistati 20-mõõtmelisest alumiiniumlehest, kasutades meetodit, mida on kirjeldatud minu juhendis

Minu sulgude mõõtmed on näidatud fotol 1.

Kaks auku, mis on tähistatud "baasjoonega", on iga anduri jaoks nööri kinnitamiseks. Lihtsalt seo nöör seadistamise hõlbustamiseks vajaliku vahega kinni.

Anduripesad

Anduripesad (foto 2) on valmistatud tavalistest Arduino päisepesadest.

Kõik soovimatud tihvtid on välja tõmmatud ja plastikust läbi puuritud 3 mm auk.

Ühenduste jootmisel jälgige, et juhtmed ei oleks alumiiniumklambri külge lühikesed.

Tüve leevendajad

Väike tükk termokahanevaid torusid kaabli mõlemas otsas hoiab ära juhtmete lahtiharutamise.

Kaablite soovimatu liikumise vältimiseks on kasutatud kaablisidemeid.

Samm: tarkvara installimine

Installige järgmine kood selles järjekorras:

Arduino IDE

Laadige alla ja installige Arduino IDE (integreeritud arenduskeskkond) saidilt https://www.arduino.cc/en/main/software, kui see pole juba installitud.

Töötlemine 3

Laadige alla ja installige Processing 3 saidilt

Arduino visand

Kopeerige manustatud faili „dual_sensor _echo_locator.ino” sisu Arduino „visandisse”, salvestage ja laadige see seejärel üles oma Arduino Uno R3 -sse.

Sulgege Ardino IDE, kuid jätke USB -kaabel ühendatuks.

Sketši töötlemine

Kopeerige manustatud faili „dual_sensor_echo_locator.pde” sisu töötlevasse visandisse.

Nüüd klõpsake vasakus ülanurgas nuppu "Käivita" … teie ekraanile peaks ilmuma graafikaekraan.

6. etapp: testimine

Testimine
Testimine
Testimine
Testimine

Ühendage Arduino USB -kaabel arvutiga

Käivitage „dual_sensor_echo_locator.pde”, klõpsates oma Processing 3 IDE (integreeritud arenduskeskkond) käivitusnupul „vasakus ülanurgas”.

Komaga eraldatud numbrid peaksid ekraanil alla voogesitama, nagu on näidatud fotol 1.

Veateade käivitamisel

Käivitamisel võite saada veateate.

Kui jah, muutke foto 1 rea 88 [0], et see vastaks teie COM -pordiga seotud numbrile.

Sõltuvalt teie süsteemist võib olla loetletud mitu COM -porti. Üks numbritest töötab.

Fotol 1 on number [0] seotud minu COM4 -ga.

Andurite paigutamine

Asetage andurid üksteisest 100 cm kaugusele ja objekt 100 cm ette.

Pöörake mõlemat andurit aeglaselt kujuteldava 1 -meetrise ruudu diagonaalselt vastupidise nurga poole.

Andureid pöörates leiad koha, kus graafikakuval ilmub vilkuv punane täpp.

Kui andurid on teie objekti leidnud, kuvatakse ka täiendavaid andmeid (foto 2):

  • kaugus 1
  • kaugus2
  • lähtejoon
  • nihe
  • poolperimeeter
  • piirkonnas
  • X koordinaat
  • Y koordinaat

7. samm: kuvamine

Ekraan
Ekraan

Ekraan on kirjutatud töötlemisega 3 … kuvatakse 100 cm baasjoon.

Baasjoone muutmine

Muutame oma lähtejoone 100 cm -lt 200 cm -le:

Muutke „ujuki baasjoon = 100;” töötlemise päises lugeda "float Baseline = 200;"

Muutke protseduuri „draw_grid ()” rutiinis silte „50” ja „100”, et need muutuksid „100” ja „200”.

Nihke muutmine

Suuremaid sihtpiirkondi võidakse jälgida, kui asetame andurid baasjoonest allapoole.

Kui otsustate seda teha, tuleb töötlemise päises muutujat „Offset” muuta.

Muude juhendite vaatamiseks klõpsake siin.

Soovitan: