Korzystanie z czujnika odległości VEX IQ (1. generacji).

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.

Element czujnika odległości VEX IQ (1. generacja).

Jak działa czujnik odległości: słuchanie odległości

Schemat czujnika odległości wysyłającego ultradźwięki w celu trafienia w zieloną kostkę, a następnie odbierającego odbity dźwięk.

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:

Blok VEXcode IQ Obiekt znaleziony, który odczytuje Odległość, w której znaleziono obiekt?
Dwa diagramy. Na powyższym obrazku czujnik odległości skierowany jest w stronę pobliskiego zielonego sześcianu i jest oznaczony znacznikiem wyboru. Poniżej czujnik odległości nie jest skierowany na nic pobliskiego i jest oznaczony symbolem X.

Czujnik ten potrafi wykryć, czy przed nim znajduje się jakiś obiekt.

VEXcode IQ Odległość od bloku odczytującego Odległość odległość w mm.

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

Menu Urządzenia VEXcode IQ po wybraniu przycisku Dodaj urządzenie. Opcja Odległość (1. generacja) jest podświetlona.

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 VEXcode IQ Obiekt znaleziony, który odczytuje Distance7, czy znaleziono obiekt?

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.

 

Projekt bloków VEXcode IQ wykorzystuje czujnik odległości do jazdy do przodu, aż znajdzie obiekt. Opis projektu brzmi: Po uruchomieniu jedź do przodu, poczekaj, aż Distance7 znajdzie obiekt, a następnie zatrzymaj się.

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. 

VEXcode IQ Odległość od bloku odczytującego Distance7 odległość w mm.

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.

 

VEXcode IQ blokuje projekt, który wykorzystuje czujnik odległości do jazdy do przodu, aż odległość będzie mniejsza niż 50 mm. Projekt brzmi: Po uruchomieniu jedź do przodu, wydrukuj odległość Distance7 w mm w systemie Brain, poczekaj, aż odległość Distance7 w mm będzie mniejsza niż 50, a następnie zatrzymaj jazdę.

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. 

drivetrain.drive(FORWARD)
while not distance_7.is_object_detected()
    wait(20, MSEC)
drivetrain.stop()
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.

drivetrain.drive(FORWARD)
brain.screen.print(distance_7.distance(MM)
while not distance_7.distance(MM) < 50:
    wait(20, MSEC)
drivetrain.stop()

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.

Aby dowiedzieć się więcej o kodowaniu czujnika odległości w języku Python, sprawdź jednostkę 5 kursu Informatyka Poziom 1 - Python. 

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: