Popis
Tento senzor hlásí vzdálenost mezi ním a nejbližším pevným předmětem (rozsah 50 mm - 1 m). Vypočítává vzdálenost pomocí času, který ultrazvukové vlny potřebují k odrazu od objektu a návratu k senzoru.
Jak funguje senzor vzdálenosti: Poslouchání vzdálenosti
Snímač vzdálenosti používá k měření zvuku stejné principy jako sonarové zařízení. Vysílá malý puls ultrazvuku svým emitorem na jedné straně senzoru a poté změří, jak dlouho trvá, než se zvuk odrazí zpět od přijímače na druhé straně senzoru. Snímač vypočítá vzdálenost na základě toho, jak dlouho trvalo zvukovému pulzu, než se uskutečnila cesta tam a zpět. Snímač vzdálenosti pak provede výpočet na základě rychlosti zvuku, aby řekl mozku robota, jak daleko je nejbližší objekt.
Pokud povrch není rovný jako zakřivená stěna nebo koule, ultrazvuková vlna se neodráží od všech částí stejně nebo současně. Nejbližší povrch dostatečně velký, aby odrazil zpět detekovatelné množství vlny, určuje detekovanou vzdálenost objektu.
Běžná použití snímače vzdálenosti:
Tento senzor dokáže detekovat, zda se před ním nenachází nějaký předmět.
Tento senzor dokáže měřit vzdálenost mezi ním a objektem.
- Robot může pomocí tohoto senzoru ujet určitou vzdálenost od objektu. Podívejte se na níže uvedenou animaci, abyste viděli, jak se hodnota vzdálenosti mění, jak robot jede, dokud vzdálenost není pod 160 mm.
- Robot může pomocí tohoto senzoru dojet k objektu, aniž by se ho dotkl. Podívejte se na tuto animaci a uvidíte dva roboty, kteří používají senzory vzdálenosti ke koordinaci své jízdy.
- Hodnoty poskytované tímto senzorem lze použít k úpravě rychlosti robota v závislosti na tom, zda je blízko nebo daleko od objektu nebo povrchu. Prohlédněte si tuto animaci a uvidíte, jak se robot přizpůsobuje na základě vzdálenosti ke zdi.
Použití senzoru vzdálenosti na soutěžním robotu
- Robot může použít senzor vzdálenosti k zahájení sekvence chování, když je na správném místě. Robot může například jet vpřed, dokud nezjistí, že je 150 mm od stěny, pak se otočit o 90 stupňů a pustit předmět do bodované zóny.
- Snímač vzdálenosti lze použít ke spouštění akcí robota, jako je zvednutí herního prvku, když je v dosahu detekován objekt.
- Robot může pomocí senzoru vzdálenosti jet směrem k předmětu nebo povrchu, dokud se nedostane do určité vzdálenosti, aniž by se ho dotkl. Toho lze využít, abyste se ujistili, že robot nepřevrhne herní prvky.
- Robot může pomocí senzoru vzdálenosti odjet od objektu nebo povrchu, dokud nedosáhne určité vzdálenosti. Toho lze využít k zamezení kolize s jinými roboty na hřišti.
Použití senzoru vzdálenosti ve VEXcode IQ
Přidání senzoru vzdálenosti jako zařízení do VEXcode IQ
Chcete-li kódovat senzor vzdálenosti ve VEXcode IQ, musíte nejprve nakonfigurovat senzor vzdálenosti. V tomto článku se dozvíte více o konfiguraci senzoru ve VEXcode IQ.
Jakmile je senzor nakonfigurován, v panelu nástrojů se objeví příkazy, které můžete použít ve svém projektu.
Kódování snímače vzdálenosti v blocích
Blok <Object found> je logický reportovací blok, který hlásí podmínku jako pravdivou nebo nepravdivou. Booleovské bloky, jako je blok <Object found> , se vejdou do bloků s šestihrannými (šestistrannými) vstupy pro jiné bloky.
Booleovský blok <Object found> hlásí „true“, pokud senzor detekuje objekt, a „false“, pokud senzor nedetekuje. Chcete-li se dozvědět více o booleovských blocích, navštivte článek Help nebo Block Shapes and Meaning.
V tomto příkladu je blok <Object found> použit s blokem [Čekat, dokud], aby robot jel vpřed, dokud senzor vzdálenosti nedetekuje objekt. Když senzor detekuje objekt, robot zastaví jízdu, jak je znázorněno na obrázku výše.
Blok (Vzdálenost od) hlásí vzdálenost nejbližšího objektu od snímače vzdálenosti. Hlásí rozsah od24 mm do 1 000 mm nebo 1 palec až 40 palců. Blok (Vzdálenost od) je reportérový blok, který se používá uvnitř bloků s kruhovými mezerami.
V tomto příkladu je blok (Vzdálenost od) použit s blokem [Tisk] k zobrazení vzdálenosti mezi senzorem vzdálenosti a objektem na obrazovce Mozek. Blok (Vzdálenost od) je také zobrazen uvnitř bloku <Less than> , který je uvnitř bloku {Wait until}. To způsobí, že robot pojede, dokud senzor vzdálenosti nezachytí objekt vzdálený méně než 50 milimetrů, a poté přestane jezdit. To je ukázáno v prvním videu výše.
Kódování senzoru vzdálenosti v Pythonu
Poznámka:Chcete-li kódovat senzor vzdálenosti VEX IQ (1. generace) v Pythonu, musí být připojen k mozku VEX IQ (2. generace). VEX IQ (1. generace) Brain nepodporuje Python.
distance_7.is_object_detected()
Příkaz distance.is_object_detected hlásí 'true', pokud je detekován objekt, a 'false', pokud objekt detekován není.
Poznámka:Název senzoru vzdálenosti, který se objeví v příkazu, odpovídá názvu, který je uveden v konfiguraci.
drivetrain.drive(FORWARD) |
| V tomto příkladu se smyčkaWhile s podmínkou ne používá s příkazem distance.is_object_detected , aby robot jel dopředu, dokud senzor vzdálenosti nedetekuje objekt. Když senzor detekuje objekt, robot přestane řídit, jak je znázorněno v kódu Pythonu výše. |
vzdálenost_7.vzdálenost(MM)
Příkaz distance.distance hlásí vzdálenost nejbližšího objektu od senzoru vzdálenosti. Hlásí rozsah od24 mm do 1 000 mm nebo 1 palec až 40 palců.
drivetrain.drive(FORWARD) |
|
V tomto příkladu je smyčka While s podmínkou ne použita s příkazem distance.is_object_detected , aby robot jel dopředu, dokud senzor vzdálenosti nedetekuje objekt. Když senzor detekuje předmět, robot zastaví jízdu. V tomto příkladu je příkaz distance.distance použit s příkazem brain.screen.print k zobrazení vzdálenosti mezi snímačem vzdálenosti a objektem na obrazovce Brain. Příkaz distance.distance je také zobrazen uvnitř smyčky While s podmínkou ne . To způsobí, že robot pojede, dokud senzor vzdálenosti nezaznamená objekt vzdálený méně než 50 milimetrů, a poté přestane jezdit. To je ukázáno v prvním videu výše. |