Opis
Czujnik ten raportuje odległość pomiędzy nim a najbliższym obiektem stałym (zakres 50mm - 1m). Oblicza odległość na podstawie czasu potrzebnego falom ultradźwiękowym na odbicie się od obiektu i powrót do czujnika.
Jak działa czujnik odległości: słuchanie odległości
Czujnik odległości wykorzystuje tę samą zasadę pomiaru dźwięku, co sonar. Urządzenie wysyła niewielki impuls ultradźwiękowy za pomocą nadajnika znajdującego się z jednej strony czujnika, a następnie mierzy czas, jaki upływa, zanim dźwięk odbije się od odbiornika znajdującego się z drugiej strony czujnika. Czujnik oblicza odległość na podstawie czasu, jaki zajęło impulsowi dźwiękowemu przebycie drogi w obie strony. Następnie czujnik odległości dokonuje obliczeń na podstawie prędkości dźwięku, aby przekazać mózgowi robota informację o odległości najbliższego obiektu.
Jeżeli powierzchnia nie jest płaska, jak np. zakrzywiona ściana lub kula, fala ultradźwiękowa nie odbija się od wszystkich jej części w równym stopniu lub w tym samym czasie. Najbliższa powierzchnia, która jest na tyle duża, że może odbić wykrywalną część fali, decyduje o wykrywanej odległości obiektu.
Typowe zastosowania czujnika odległości:
Czujnik ten potrafi wykryć, czy przed nim znajduje się jakiś obiekt.
Czujnik ten może mierzyć odległość pomiędzy nim a obiektem.
- Robot może wykorzystać ten czujnik do odjechania na określoną odległość od obiektu. Obejrzyj poniższą animację, aby zobaczyć, jak wartość odległości zmienia się w miarę jazdy robota, aż do momentu, gdy odległość spadnie poniżej 160 mm.
- Robot może wykorzystać ten czujnik do podjechania do obiektu bez dotykania go. Obejrzyj tę animację, aby zobaczyć, jak dwa roboty koordynowały swój ruch za pomocą czujników odległości.
- Wartości dostarczane przez ten czujnik można wykorzystać do dostosowania prędkości robota w zależności od tego, czy znajduje się on blisko, czy daleko od obiektu lub powierzchni. Obejrzyj tę animację, aby zobaczyć, jak robot dostosowuje się do odległości od ściany.
Zastosowania czujnika odległości w robocie wyczynowym
- Robot może wykorzystać czujnik odległości do zainicjowania sekwencji zachowań, jeśli znajdzie się w odpowiednim miejscu. Na przykład robot może jechać do przodu, aż wykryje, że znajduje się 150 mm od ściany, a następnie obrócić się o 90 stopni i wypuścić obiekt w strefę punktacji.
- Czujnika odległości można używać do wyzwalania działań robota, takich jak podnoszenie elementu gry, gdy obiekt zostanie wykryty w jego zasięgu.
- Robot może wykorzystać czujnik odległości, aby podjechać do obiektu lub powierzchni, aż znajdzie się na określoną odległość, bez dotykania go. Można to wykorzystać, aby mieć pewność, że robot nie przewróci elementów gry.
- Robot może użyć czujnika odległości, aby odjechać od obiektu lub powierzchni, aż osiągnie określoną odległość. Można to wykorzystać, aby uniknąć kolizji z innymi robotami na polu.
Korzystanie z czujnika odległości w VEXcode IQ
Dodawanie czujnika odległości jako urządzenia w VEXcode IQ
Aby zakodować czujnik odległości w VEXcode IQ, należy najpierw skonfigurować czujnik odległości. Zobacz ten artykuł, aby dowiedzieć się więcej o konfigurowaniu czujnika w VEXcode IQ.
Po skonfigurowaniu czujnika w Toolboxie pojawią się polecenia, które możesz wykorzystać w swoim projekcie.
Kodowanie czujnika odległości w blokach
Blok <Object found> to logiczny blok reportera, który zgłasza warunek jako prawdziwy lub fałszywy. Bloki logiczne, takie jak blok <Object found> , mieszczą się wewnątrz bloków z sześciokątnymi (sześciościennymi) wejściami dla innych bloków.
Blok logiczny <Object found> zgłasza „prawdę”, jeśli czujnik wykryje obiekt, i „fałsz”, jeśli czujnik nie. Aby dowiedzieć się więcej na temat bloków logicznych, odwiedź artykuł Pomoc lub Kształty bloków i znaczenie.
W tym przykładzie blok <Object found> jest używany z blokiem [Czekaj do], aby robot jechał do przodu, aż czujnik odległości wykryje obiekt. Gdy czujnik wykryje obiekt, robot zatrzyma jazdę, jak pokazano na powyższym obrazku.
Blok (Odległość od) podaje odległość najbliższego obiektu od czujnika odległości. Zakres pomiaru wynosi od 24 mm do 1000 mm, czyli od 1 cala do 40 cali. Blok (Odległość od) jest blokiem reporterskim używanym wewnątrz bloków z odstępami kołowymi.
W tym przykładzie blok (Odległość od) jest używany z blokiem [Drukuj] w celu wyświetlenia na ekranie Brain odległości pomiędzy czujnikiem odległości a obiektem. Blok (Odległość od) jest również pokazany wewnątrz bloku <Less than> , który znajduje się wewnątrz bloku {Wait until}. Spowoduje to, że robot będzie jechał, dopóki czujnik odległości nie wykryje obiektu znajdującego się w odległości mniejszej niż 50 milimetrów, a następnie zatrzyma jazdę. Pokazano to na pierwszym filmie powyżej.
Kodowanie czujnika odległości w Pythonie
Uwaga:Aby zaprogramować czujnik odległości VEX IQ (1. generacji) w Pythonie, musi on być podłączony do mózgu VEX IQ (2. generacji). VEX IQ (1. generacja) Brain nie obsługuje języka Python.
distance_7.is_object_detected()Polecenie odległość.is_object_detected zgłasza wartość „prawda”, jeśli obiekt zostanie wykryty, i „fałsz”, jeśli obiekt nie zostanie wykryty.
Uwaga:Nazwa czujnika odległości pojawiająca się w poleceniu odpowiada nazwie nadanej mu w konfiguracji.
|
| W tym przykładzie pętlaWhile z warunkiem not została użyta z poleceniem distance.is_object_detected , aby robot jechał do przodu, aż czujnik odległości wykryje obiekt. Gdy czujnik wykryje obiekt, robot zatrzyma się, jak pokazano w powyższym kodzie Pythona. |
odległość_7.odległość(MM)Polecenie odległość.odległość podaje odległość najbliższego obiektu od czujnika odległości. Zakres pomiaru wynosi od 24 mm do 1000 mm, czyli od 1 cala do 40 cali.
|
|
W tym przykładzie pętla While z warunkiem not została użyta z poleceniem distance.is_object_detected , aby robot jechał do przodu, aż czujnik odległości wykryje obiekt. Gdy czujnik wykryje obiekt, robot zatrzyma się. W tym przykładzie polecenie distance.distance zostało użyte razem z poleceniem brain.screen.print , aby wyświetlić na ekranie Brain odległość między czujnikiem odległości a obiektem. Polecenie distance.distance jest również wyświetlane wewnątrz pętli While z warunkiem not . Spowoduje to, że robot będzie jechał do momentu, aż czujnik odległości wykryje obiekt znajdujący się w odległości mniejszej niż 50 milimetrów, a następnie zatrzyma się. Widać to na pierwszym filmie powyżej. |