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 do pomiaru dźwięku te same zasady, co urządzenia sonarowe. Wysyła niewielki impuls ultradźwiękowy z emiterem po jednej stronie czujnika, a następnie mnoży czas potrzebny do odbicia dźwięku do odbiornika po drugiej stronie czujnika. Czujnik oblicza odległość na podstawie czasu, jaki potrzebował impuls dźwiękowy na przebycie podróży w obie strony. Czujnik odległości dokonuje następnie obliczeń na podstawie prędkości dźwięku, aby poinformować mózg robota, jak daleko znajduje się najbliższy obiekt. 

Jeśli powierzchnia nie jest płaska jak zakrzywiona ściana lub kula, fala ultradźwiękowa nie odbija się jednakowo i jednocześnie od wszystkich części. Najbliższa powierzchnia wystarczająco duża, aby odbić wykrywalną ilość fali, określa wykrytą odległość obiektu.


Typowe zastosowania czujnika odległości:

Blok VEXcode IQ Obiekt znaleziony, który odczytuje Odległość, w której znaleziono obiekt?

Dwa diagramy. Powyżej widać czujnik odległości skierowany w stronę pobliskiego zielonego sześcianu i oznaczony znacznikiem wyboru. Poniżej czujnik odległości nie jest skierowany na nic w pobliżu 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. Podaje zakres od24 mm do 1000 mm lub od 1 cala do 40 cali. Blok (Odległość od) to blok reportera używany wewnątrz bloków z okrągłymi odstępami.

 

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 zakodować czujnik odległości VEX IQ (1. generacji) w języku Python, należy go podłączyć do mózgu VEX IQ (2. generacji). Brain VEX IQ (1. generacji) 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)
dopóki nie distance_7.is_object_detected()
wait(20, MSEC)
drivetrain.stop()
W tym przykładzie zastosowano pętlęWhile z warunkiem , a nie 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 kodzie Pythona powyżej.
odległość_7.odległość(MM)

Polecenie odległość.odległość podaje odległość najbliższego obiektu od czujnika odległości. Raportuje zakres odmm do 1000 mm lub 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 zastosowano pętlę While z warunkiem , a nie z poleceniem Distance.is_object_detected , aby robot jechał do przodu, aż czujnik odległości wykryje obiekt. Gdy czujnik wykryje obiekt, robot zatrzyma jazdę.

W tym przykładzie polecenie odległość.odległość zostało użyte z poleceniem brain.screen.print w celu wyświetlenia na ekranie Brain odległości pomiędzy czujnikiem odległości a obiektem. Polecenie odległość.odległość jest także wyświetlane w pętli While z warunkiem , a nie . 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.

Aby dowiedzieć się więcej na temat kodowania czujnika odległości w języku Python, zapoznaj się z częścią 5 kursu Informatyka na poziomie 1 - Python. 

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

Last Updated: