Aprašymas
Šis jutiklis praneša atstumą tarp jo ir artimiausio kieto objekto (nuo 50 mm iki 1 m). Jis apskaičiuoja atstumą naudodamas laiką, per kurį ultragarso bangos atsimuša nuo objekto ir grįžta į jutiklį.
Kaip veikia atstumo jutiklis: atstumo klausymas
Atstumo jutiklis garsui matuoti naudoja tuos pačius principus kaip ir sonaras. Jis siunčia mažytį ultragarso impulsą, kurio skleidėjas yra vienoje jutiklio pusėje, o tada padaugina, kiek laiko užtrunka, kol garsas atsispindi nuo imtuvo kitoje jutiklio pusėje. Jutiklis apskaičiuoja atstumą pagal tai, kiek laiko garso impulsas įveikė kelionę pirmyn ir atgal. Tada atstumo jutiklis, remdamasis garso greičiu, atlieka skaičiavimus, kad roboto smegenys žinotų, koks atstumas yra iki artimiausio objekto.
Jei paviršius nėra lygus, pavyzdžiui, išlenkta siena ar rutulys, ultragarso banga neatsispindi nuo visų dalių vienodai arba vienu metu. Artimiausias paviršius, pakankamai didelis, kad atspindėtų aptinkamą bangos kiekį, lemia aptiktą objekto atstumą.
Įprasti atstumo jutiklio naudojimo būdai:
Šis jutiklis gali aptikti, ar priešais jį yra koks nors objektas.
Šis jutiklis gali išmatuoti atstumą tarp jo ir objekto.
- Robotas gali naudoti šį jutiklį nuvažiuoti tam tikru atstumu nuo objekto. Peržiūrėkite toliau pateiktą animaciją, kad pamatytumėte, kaip keičiasi atstumo reikšmė robotui važiuojant tol, kol atstumas nesiekia 160 mm.
- Robotas gali naudoti šį jutiklį, kad privažiuotų prie objekto jo neliesdamas. Peržiūrėkite šią animaciją, kad pamatytumėte du robotus, naudojančius atstumo jutiklius savo vairavimui koordinuoti.
- Šio jutiklio teikiamomis reikšmėmis galima reguliuoti roboto greitį priklausomai nuo to, ar jis yra arti ar toli nuo objekto ar paviršiaus. Peržiūrėkite šią animaciją, kad pamatytumėte, kaip robotas prisitaiko pagal atstumą iki sienos.
Atstumo jutiklio naudojimas varžybų robote
- Robotas gali naudoti atstumo jutiklį, kad inicijuotų veiksmų seką, kai jis yra tinkamoje vietoje. Pavyzdžiui, robotas gali važiuoti į priekį, kol aptinka, kad yra 150 mm atstumu nuo sienos, tada pasisukti 90 laipsnių kampu ir paleisti objektą į taškų zoną.
- Atstumo jutiklis gali būti naudojamas roboto veiksmams, pvz., žaidimo figūros paėmimui, suaktyvinti, kai objektas aptinkamas diapazone.
- Robotas gali naudoti atstumo jutiklį, kad važiuotų link objekto ar paviršiaus tol, kol jis nepasieks tam tikro atstumo, jo neliesdamas. Tai gali būti naudojama siekiant užtikrinti, kad robotas nenuverstų žaidimo figūrėlių.
- Robotas gali naudoti atstumo jutiklį, kad nuvažiuotų nuo objekto ar paviršiaus tol, kol pasieks tam tikrą atstumą. Tai gali būti naudojama siekiant išvengti susidūrimų su kitais lauko robotais.
Atstumo jutiklio naudojimas VEXcode IQ
Atstumo jutiklio kaip įrenginio pridėjimas VEXcode IQ
Norėdami koduoti atstumo jutiklį VEXcode IQ, pirmiausia turite sukonfigūruoti atstumo jutiklį. Peržiūrėkite šį straipsnį, kad sužinotumėte daugiau apie jutiklio konfigūravimą VEXcode IQ.
Kai jutiklis bus sukonfigūruotas, įrankių dėžėje pasirodys komandos, kurias galėsite naudoti savo projekte.
Atstumo jutiklio kodavimas blokais
<Object found> blokas yra Būlio reporterio blokas, kuris praneša apie sąlygą kaip teisingą arba klaidingą. Būlio blokai, kaip ir <Object found> blokas, telpa blokų viduje su šešiakampėmis (šešiapusėmis) įvestimis kitiems blokams.
<Object found> Būlio blokas praneša, kad „teisinga“, jei jutiklis aptinka objektą, ir „netiesa“, jei jutiklis neaptinka. Norėdami sužinoti daugiau apie Būlio blokus, apsilankykite straipsnyje Pagalba arba blokų formos ir reikšmė.
Šiame pavyzdyje <Object found> blokas naudojamas su [Wait kol] bloku, kad robotas važiuotų pirmyn, kol atstumo jutiklis aptiks objektą. Kai jutiklis aptiks objektą, robotas nustos važiuoti, kaip parodyta aukščiau esančiame paveikslėlyje.
Blokas (Atstumas nuo) praneša artimiausio objekto atstumą nuo atstumo jutiklio. Nurodomas diapazonas nuo 24 mm iki 1000 mm arba nuo 1 colio iki 40 colių. (Atstumo nuo) blokas yra reporterinis blokas, naudojamas blokuose su apskritomis erdvėmis.
Šiame pavyzdyje blokas (Atstumas nuo) naudojamas su bloku [Spausdinti], kad smegenų ekrane būtų rodomas atstumas tarp atstumo jutiklio ir objekto. Blokas (Atstumas nuo) taip pat rodomas <Less than> bloko viduje, kuris yra {Wait until} bloko viduje. Dėl to robotas važiuos tol, kol atstumo jutiklis aptiks objektą, esantį arčiau nei 50 milimetrų, ir tada nustos važiuoti. Tai parodyta pirmame aukščiau esančiame vaizdo įraše.
Atstumo jutiklio kodavimas Python
Pastaba:Norint užkoduoti VEX IQ (1-os kartos) atstumo jutiklį Python kalba, jis turi būti prijungtas prie VEX IQ (2-os kartos) smegenų. VEX IQ (1-osios kartos) smegenys nepalaiko Python.
atstumas_7.aptiktas_objektas()Komanda distance.is_object_detected praneša „teisinga“, jei objektas aptinkamas, ir „false“, jei objektas neaptinkamas.
Pastaba:Komandoje rodomas atstumo jutiklio pavadinimas atitinka pavadinimą, suteiktą konfigūracijoje.
|
| Šiame pavyzdyje naudojamas ciklasWhile su sąlyga „ not kartu su komanda „ distance.is_object_detected , kad robotas judėtų pirmyn, kol atstumo jutiklis aptiks objektą. Kai jutiklis aptinka objektą, robotas nustoja važiuoti, kaip parodyta aukščiau pateiktame Python kode. |
atstumas_7.atstumas(MM)Komanda distance.distance praneša atstumą iki artimiausio objekto nuo atstumo jutiklio. Nurodomas diapazonas nuo 24 mm iki 1000 mm arba nuo 1 colio iki 40 colių.
|
|
Šiame pavyzdyje naudojamas ciklas While su sąlyga „ not kartu su komanda „ distance.is_object_detected , kad robotas važiuotų pirmyn, kol atstumo jutiklis aptiks objektą. Kai jutiklis aptinka objektą, robotas nustoja važiuoti. Šiame pavyzdyje komanda distance.distance naudojama su komanda „ brain.screen.print , kad „Brain“ ekrane būtų rodomas atstumas tarp atstumo jutiklio ir objekto. Komanda distance.distance taip pat rodoma While ciklo viduje su o ne sąlyga. Dėl to robotas važiuos tol, kol atstumo jutiklis aptiks objektą, esantį mažiau nei 50 milimetrų atstumu, ir tada nustos važiuoti. Tai parodyta pirmame vaizdo įraše aukščiau. |