Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-23 14:59
Šioje instrukcijoje paaiškinama, kaip tiksliai nustatyti objekto vietą naudojant „Arduino“, du ultragarsinius jutiklius ir Herono trikampių formulę. Nėra judančių dalių.
Herono formulė leidžia apskaičiuoti bet kurio trikampio, kurio visos kraštinės yra žinomos, plotą. Kai žinote trikampio plotą, galite apskaičiuoti vieno objekto padėtį (palyginti su žinoma pradine linija), naudodami trigonometriją ir Pitagorą.
Tikslumas puikus. Galimi dideli aptikimo plotai, naudojant dažniausiai prieinamus ultragarso jutiklius HC-SR04 arba HY-SRF05.
Konstrukcija paprasta … tereikia aštraus peilio, dviejų grąžtų, lituoklio ir medžio pjūklo.
Vaizdai
- Vaizdo įraše rodomas veikiantis įrenginys.
- 1 nuotraukoje parodytas surinktas „aido ieškiklis“
- 2 nuotraukoje rodomas tipiškas ekranas. Objektas yra raudonas (mirksi) taškas.
- 3 nuotraukoje parodyta vaizdo testo sąranka. Norint visiškai „apšviesti“aptikimo zoną garsu, reikėjo pastatyti du HY-SRF05 ultragarsinius jutiklius 50 cm žemiau bazinės linijos.
1 žingsnis: laidų schema
1 nuotraukoje parodyta „dvigubo jutiklio aido ieškiklio“prijungimo schema.
Jutiklis B tampa „pasyvus“, uždėjus kelis sluoksnius maskavimo juostos virš perdavimo (T) keitiklio. Ši juosta blokuoja ultragarso garsą, kuris kitu atveju būtų skleidžiamas.
2 žingsnis: dalių sąrašas
Kaip parodyta 1 nuotraukoje, norint užbaigti šį projektą reikia labai nedaug dalių:
Šios dalys buvo gautos iš
- 1 tik „Arduino Uno R3“su USB kabeliu
- 2 tik HY-SRF05 arba HC-SR04, ultragarsiniai keitikliai
Šios dalys buvo gautos vietoje:
- 1 tik vyrų arduino antraštės juostelė
- 2 tik moterų arduino antraštės juostelės
- 2 tik aliuminio laužo gabalėliai
- 2 tik nedideli medžio gabalai
- 2 tik maži varžtai
- 3 tik kabelių jungtys
- Tik 4 ilgio plastikine dengta viela (įvairių spalvų) [1]
Pastaba
[1]
Bendras kiekvieno laido ilgis turi būti lygus norimam atstumui tarp jutiklių plius nedidelis litavimo kiekis. Tada laidai susukami, kad susidarytų kabelis.
3 žingsnis: teorija
Sijos modeliai
1 nuotraukoje pavaizduoti keitiklio A ir keitiklio B spindulių modeliai.
Jutiklis A gaus aidą iš bet kurio „raudonos zonos“objekto.
Jutiklis B gaus aidą tik tuo atveju, jei objektas yra „violetinės spalvos zonoje“. Už šios srities ribų neįmanoma nustatyti objekto koordinatės. [1]
Didelės „violetinės“aptikimo sritys yra įmanomos, jei jutikliai yra plačiai išdėstyti.
Skaičiavimai
Remiantis 2 nuotrauka:
Bet kurio trikampio plotą galima apskaičiuoti pagal formulę:
plotas = pagrindas*aukštis/2 ……………………………………………………………………. (1)
Pertvarkymo lygtis (1) suteikia mums aukštį (Y koordinatė):
aukštis = plotas*2/bazė ……………………………………………………………………. (2)
Kol kas viskas gerai … bet kaip apskaičiuoti plotą?
Atsakymas yra išdėstyti du ultragarsinius keitiklius žinomu atstumu vienas nuo kito (bazinė linija) ir išmatuoti kiekvieno jutiklio atstumą nuo objekto naudojant ultragarsą.
2 nuotraukoje parodyta, kaip tai įmanoma.
Keitiklis A siunčia impulsą, kuris atšoka nuo objekto visomis kryptimis. Šį impulsą girdi ir keitiklis A, ir keitiklis B. Joks impulsas iš keitiklio B nesiunčiamas … jis tik klauso.
Grįžimo kelias į keitiklį A rodomas raudonai. Padalijus iš dviejų ir atsižvelgus į garso greitį, galime apskaičiuoti atstumą „d1“pagal formulę: [2]
d1 (cm) = laikas (mikrosekundės)/59 ……………………………………………… (3)
Kelias į keitiklį B rodomas mėlyna spalva. Jei iš šio kelio ilgio atimsime atstumą „d1“, gausime atstumą „d2“. „D2“apskaičiavimo formulė yra tokia: [3]
d2 (cm) = laikas (mikrosekundės/29,5 - d1 …………………………………….. (4)
Dabar turime visų trijų trikampio ABC kraštinių ilgį … įveskite „Heron“
Herono formulė
Herono formulėje naudojamas vadinamasis „pusiau perimetras“, kuriame pridedate kiekvieną iš trijų trikampio kraštinių ir padalijate rezultatą iš dviejų:
s = (a+b+c)/2 ……………………………………………………………………………. (5)
Dabar plotą galima apskaičiuoti pagal šią formulę:
plotas = kv. (s*(s-a)*(s-b)*(s-c)) ……………………………………………………. (6)
Kai žinome plotą, galime apskaičiuoti aukštį (Y koordinatę) pagal aukščiau pateiktą (2) lygtį.
Pitagoras
Dabar X koordinatę galima apskaičiuoti nuleidžiant statmeną nuo trikampio viršūnės iki pradinės linijos, kad būtų sukurtas stačiakampis trikampis. Dabar X koordinatę galima apskaičiuoti naudojant Pitagorą:
c1 = kv. (b2 - h2) ……………………………………………………………….. (7)
Pastabos
[1]
Tikslinę zoną galima visiškai „apšviesti“garsu, pastatant jutiklius žemiau bazinės linijos.
[2]
Konstantos vertė 59 gaunama taip:
Garso greitis yra maždaug 340 m/s, tai yra 0,034 cm/uS (centimetrai/mikrosekundas).
Abipusis 0,034 cm/uS yra 29,412 uS/cm, kuris, padauginus iš 2, kad būtų pasiektas grįžimo kelias, suapvalinus yra 58,824 arba 59.
Ši vertė gali būti padidinta/sumažinta atsižvelgiant į oro temperatūrą, drėgmę ir slėgį.
[3]
Konstantos vertė 29,5 gaunama taip:
Grįžimo kelio nėra, todėl naudojame 29,5, tai yra pusė [2] aukščiau naudojamos vertės.
4 žingsnis: statyba
Montavimo laikikliai
Du tvirtinimo laikikliai buvo pagaminti iš 20 gabaritų aliuminio lakšto, naudojant metodą, aprašytą mano instrukcijoje
Mano skliaustų matmenys pateikti 1 nuotraukoje.
Dvi skylės, pažymėtos „bazine linija“, yra skirtos eilutei pritvirtinti prie kiekvieno jutiklio. Paprasčiausiai suriškite virvę reikiamu atstumu, kad būtų lengviau nustatyti.
Jutiklių lizdai
Jutiklių lizdai (2 nuotrauka) buvo pagaminti iš standartinių „Arduino“antgalių lizdų.
Visi nepageidaujami kaiščiai buvo ištraukti ir per plastiką išgręžta 3 mm skylė.
Lituodami jungtis, stenkitės netrumpinti laidų prie aliuminio laikiklio.
Įtempimo reljefai
Mažas termiškai susitraukiančio vamzdelio gabalas kiekviename kabelio gale neleidžia laidams atsiskleisti.
Kabelių jungtys buvo naudojamos siekiant išvengti nepageidaujamo kabelio judėjimo.
5 veiksmas: programinės įrangos diegimas
Įdiekite šį kodą tokia tvarka:
„Arduino IDE“
Atsisiųskite ir įdiekite „Arduino IDE“(integruotą kūrimo aplinką) iš https://www.arduino.cc/en/main/software, jei dar neįdiegta.
Apdorojimas 3
Atsisiųskite ir įdiekite „Processing 3“iš
Arduino eskizas
Nukopijuokite pridėto failo „dual_sensor _echo_locator.ino“turinį į „Arduino“eskizą, išsaugokite, tada įkelkite jį į „Arduino Uno R3“.
Uždarykite „Ardino IDE“, bet palikite prijungtą USB kabelį.
Apdorojamas eskizas
Nukopijuokite pridėto failo „dual_sensor_echo_locator.pde“turinį į apdorojimo „eskizą“.
Dabar spustelėkite viršutinį kairįjį mygtuką „Vykdyti“… jūsų ekrane turėtų būti rodomas grafikos ekranas.
6 žingsnis: bandymas
Prijunkite „Arduino“USB kabelį prie kompiuterio
Paleiskite „dual_sensor_echo_locator.pde“spustelėdami „Processing 3 IDE“(integruotos kūrimo aplinkos) paleidimo mygtuką „viršuje kairėje“.
Skaičiai, atskirti kableliais, turėtų pradėti transliuoti ekrane, kaip parodyta 1 nuotraukoje.
Klaidos pranešimas paleidžiant
Paleidimo metu galite gauti klaidos pranešimą.
Jei taip, pakeiskite [0] 1 nuotraukos 88 eilutėje, kad ji atitiktų numerį, susietą su jūsų „COM“prievadu.
Priklausomai nuo jūsų sistemos, gali būti išvardyti keli „COM“prievadai. Vienas iš skaičių veiks.
1 nuotraukoje skaičius [0] yra susietas su mano „COM4“.
Jutiklių išdėstymas
Padėkite jutiklius 100 cm atstumu vienas nuo kito, o objektas - 100 cm priekyje.
Lėtai pasukite abu jutiklius įstrižai priešingo įsivaizduojamo 1 metro kvadrato kampo link.
Sukdami jutiklius rasite vietą, kurioje grafiniame ekrane pasirodys mirksintis raudonas taškas.
Papildomi duomenys taip pat bus rodomi (2 nuotrauka), kai jutikliai suras jūsų objektą:
- atstumas1
- atstumas2
- pradinis
- kompensuoti
- pusiau perimetras
- srityje
- X koordinatė
- Y koordinatė
7 žingsnis: Rodyti
Ekranas buvo parašytas naudojant „Processing 3“… rodoma 100 cm pradinė linija.
Bazinės linijos keitimas
Pakeiskime savo pradinę liniją nuo 100 cm iki 200 cm:
Pakeiskite „plūdės bazinė linija = 100;“apdorojimo antraštėje skaityti „float Baseline = 200;“
Pakeiskite apdorojimo „draw_grid ()“tvarkos etiketes „50“ir „100“į „100“ir „200“.
Poslinkio keitimas
Didesnes tikslines sritis galima stebėti, jei jutiklius pastatysime žemiau bazinės linijos.
Jei pasirinksite tai, apdorojimo antraštėje esantis kintamasis „Nuokrypis“turi būti pakeistas.
Spustelėkite čia, jei norite peržiūrėti kitus mano nurodymus.
Rekomenduojamas:
„Arduino“sąsaja su ultragarso jutikliu ir bekontakčiu temperatūros jutikliu: 8 žingsniai
„Arduino“sąsaja su ultragarso jutikliu ir bekontakčiu temperatūros jutikliu: Šiuo metu kūrėjai ir kūrėjai teikia pirmenybę „Arduino“, norėdami greitai plėtoti projektų prototipus. „Arduino“yra atviro kodo elektronikos platforma, pagrįsta lengvai naudojama aparatine ir programine įranga. „Arduino“turi labai gerą vartotojų bendruomenę. Šiame projekte
Pasidaryk pats: prie lubų montuojama mini jutiklių dėžutė su fokusuojamu judesio jutikliu: 4 žingsniai
Pasidaryk pats: prie lubų montuojama mini jutiklių dėžutė su fokusuojamu judesio jutikliu: Sveiki. Prieš kurį laiką padėjau savo draugui išmaniųjų namų koncepcijoje ir sukūriau specialiai suprojektuotą mini jutiklių dėžutę, kurią būtų galima pritvirtinti prie lubų į 40x65 mm skylę. Ši dėžutė padeda: • matuoti šviesos intensyvumą • matuoti drėgną
Sudėtinis aido ieškiklis: 6 žingsniai
Multipleksuotas aido ieškiklis: a. Straipsniai {šrifto dydis: 110,0%; šrifto svoris: paryškintas; šrifto stilius: kursyvas; teksto dekoravimas: nėra; fono spalva: raudona;} a. straipsniai: užveskite žymeklį {background-color: black;} Šioje instrukcijoje aprašoma, kaip naudojant „Ard“sukurti „nuskaitymo“aido ieškiklį
Automobilio garažo su „Arduino“atstumo ieškiklis: 4 žingsniai (su nuotraukomis)
„Arduino“garažo stovėjimo atstumo ieškiklis: Šis paprastas projektas padės jums pastatyti automobilį garaže, parodydamas atstumą nuo objektų priešais jūsų automobilio buferį. Pranešimas „Stop“parodys, kada laikas sustoti. Projektas pagrįstas naudojant įprastus HC-SR04 arba „Parallax Ping“)))
Skaitmeninis žirklių ieškiklis: 6 žingsniai (su nuotraukomis)
Skaitmeninis smeigtukų ieškiklis: smeigtukų ieškikliai yra paprasta sąvoka. Du talpiniai jutikliai: vienas siunčia impulsinę bangą, antrasis priima ir matuoja įtampos sumažėjimą visoje medžiagoje tarp dviejų plokščių. Bandant išplėsti šį dizainą, šis projektas buvo skirtas