Snímač vzdálenosti na robotu VR hlásí vzdálenost mezi robotem VR a nejbližším objektem. Senzor vypočítá vzdálenost pomocí času, který laserové světlo potřebuje k odrazu od objektu a návratu k senzoru.
Snímač vzdálenosti na robotu VR
Snímač vzdálenosti je snímač, který hlásí vzdálenost mezi robotem VR a nejbližším pevným předmětem.
Snímač vzdálenosti používá k měření zvuku stejné principy jako sonarové zařízení. Vysílá nepatrný puls laserového světla svým emitorem na jedné straně senzoru a poté změří, jak dlouho trvá, než se světlo odrazí zpět k přijímači na druhé straně senzoru. Snímač vypočítá vzdálenost na základě toho, jak dlouho trvalo pulsu okružní jízdu. Poté senzor vzdálenosti hlásí robotovi VR, jak daleko je nejbližší objekt.
Šířka zorného pole senzorů vzdálenosti se mění, když se dívá dále od přední části robota VR:
- Senzor dokáže detekovat objekty v zorném poli 10 stupňů, když hledá objekty ve vzdálenosti menší než 1000 milimetrů (~ 39 palců).
- Snímač dokáže detekovat objekty v 5stupňovém zorném poli při hledání objektů ve vzdálenosti 1000 milimetrů (~ 39 palců) až 2000 milimetrů (~ 78 palců).
- Snímač dokáže detekovat objekty v zorném poli 2 stupňů při hledání objektů vzdálených více než 2000 milimetrů (~ 78 palců).
Běžná použití snímače vzdálenosti
Snímač vzdálenosti dokáže detekovat, zda se před robotem VR nachází nějaký předmět. Toho lze využít k vyhnutí se překážce.
| VEXcode VR bloky | Wall Maze hřiště | |
| VEXcode VR Python | ||
def main(): |
||
|
Snímač vzdálenosti může měřit vzdálenost mezi přední částí snímače vzdálenosti a přední částí objektu. To může být užitečné pro dokončení bludiště, aniž byste neustále naráželi do stěn nebo se vyhýbali předmětu. |
||
| VEXcode VR bloky | Dynamické hřiště Castle Crasher | |
|
|
||
| VEXcode VR Python | ||
def main(): |
||
|
V tomto příkladu pojede VR robot vpřed, pokud senzor vzdálenosti najde nějaký předmět. Pokud nedetekuje žádný objekt, robot VR se otočí doprava a bude neustále hledat objekt. Poznámka: Tento příklad najde první budovu, ale potřebuje vylepšení, aby nespadl ze stolu. |
||
Použití senzoru vzdálenosti s bloky VEXcode VR
Bloky používané se snímačem vzdálenosti naleznete v kategorii Snímání.
<Vzdálenost nalezeného objektu> Blok
Snímač vzdálenosti detekuje, zda se před ním nachází nějaký předmět pomocí bloku <Vzdálenost nalezeného objektu>. Snímač vzdálenosti dokáže detekovat předmět nebo povrch do vzdálenosti 3000 mm (~118 palců) od snímače.
Blok <Vzdálenost nalezeného objektu>je booleovský blok, který vrací podmínku jako pravda nebo nepravda a vejde se do všech bloků s hexagonálními (šestistrannými) mezerami pro jiné bloky.
Další informace o booleovských blocích naleznete v tomto článku.
Hodnota bloku <Distance found object> je booleovský blok, který hlásí true, když je senzor vzdálenosti blízko objektu, a hlásí false, když není dostatečně blízko k objektu.
Pravda nebo nepravda bude hlášena a zobrazí se v konzole Monitor.
Chcete-li se dozvědět více o Monitor Console, prohlédněte si tento článek.
(Vzdálenost od) Blok
Pomocí bloku (Vzdálenost od) může snímač vzdálenosti hlásit vzdálenost nejbližšího objektu v milimetrech (mm) nebo palcích.
Blok (Vzdálenost od) uvádí číselné hodnoty a vejde se do všech bloků s oválnými mezerami.
Další informace o reportérových blocích naleznete v tomto článku.
Hodnotu bloku (Vzdálenost od) v jednotkách milimetrů (mm) nebo palců lze zobrazit na konzole monitoru ve VEXcode VR.
Chcete-li se dozvědět více o Monitor Console, prohlédněte si tento článek.
Použití senzoru vzdálenosti v Pythonu VEXcode VR
Chcete-li začít programovat senzor vzdálenosti pomocí Pythonu, budete muset nejprve otevřít textový projekt VEXcode VR. Další informace v tomto článku.
Dále vyhledejte kategorii Snímání v panelu nástrojů a najděte příkazy found_object a get_distance. Jedná se o funkce, které hlásí booleovskou hodnotu nebo číselnou hodnotu o senzoru.
Chcete-li přidat příkaz do svého projektu, můžete jej přetáhnout z panelu nástrojů nebo zadat příkaz na pracovní ploše pomocí funkce Automatické dokončování.
Chcete-li se dozvědět více o automatickém dokončování ve VEXcode VR s Pythonem, viz tento článek.
def main(): |
|
Smyčku zatímco lze použít se senzory na vašem robotu, když chcete, aby váš robot jel, dokud nebude senzor vzdálenosti 50 mm nebo méně od zdi, pak se zastavil nebo otočil. V tomto projektu robot pojede vpřed, zatímco snímač vzdálenosti hlásí hodnotu větší než 50 mm, a zastaví jízdu, když je snímač vzdálenosti od stěny méně než 50 mm. |
def main(): |
|
Hodnotu příkazůget_distance afound_object lze zobrazit na konzole monitoru ve VEXcode VR. Chcete-li se dozvědět více o používání Monitor Console v VEXcode VR Python, viz tento článek. |