Dystans#

Wstęp#

Czujnik odległości potrafi wykryć, czy przed czujnikiem znajduje się jakiś obiekt i określić odległość, jaka dzieli go od niego.

Czujnik odległości VEX IQ (1. generacji) wykorzystuje sonar do wykrywania obiektów i pomiaru odległości. Czujnik odległości VEX IQ (2. generacji) wykorzystuje laser bezpieczny dla sal lekcyjnych i może również określić prędkość względną wykrytego obiektu oraz oszacować, czy jest on mały, średni czy duży.

Ta strona używa distance_1 jako przykładowej nazwy czujnika odległości. W razie potrzeby zastąp ją własną, skonfigurowaną nazwą.

Poniżej znajduje się lista wszystkich dostępnych metod:

Gettery — zwracają dane z czujnika odległości.

  • is_object_detected — (Czujnik odległości VEX IQ (1. generacja) lub (2. generacja)) Zwraca informację, czy czujnik odległości aktualnie wykrył obiekt.

  • distance — (Czujnik odległości VEX IQ (1. generacja)) Zwraca odległość między czujnikiem odległości a najbliższym wykrytym obiektem.

  • object_distance — (Czujnik odległości VEX IQ (2. generacja)) Zwraca odległość między czujnikiem odległości a najbliższym wykrytym obiektem.

  • object_velocity — (Czujnik odległości VEX IQ (2. generacja)) Zwraca informację o tym, jak szybko wykryty obiekt porusza się w kierunku czujnika odległości lub od niego.

  • object_size — (Czujnik odległości VEX IQ (2. generacja)) Zwraca szacowany rozmiar wykrytego obiektu.

  • zainstalowanoinstalled — (czujnik odległości VEX IQ (1. generacja) lub (2. generacja)) Zwraca informację, czy czujnik odległości jest zainstalowany i podłączony.

Konstruktory — ręczna inicjalizacja i konfiguracja czujnika odległości.

  • Sonar — Tworzy czujnik odległości VEX IQ (1. generacja).

  • Distance — Tworzy czujnik odległości VEX IQ (2. generacja).

Getters#

is_object_detected#

is_object_detected zwraca informację, czy czujnik odległości aktualnie wykrył obiekt w zasięgu.

  • True — Czujnik odległości wykrył obiekt.

  • False — Czujnik odległości nie wykrył obiektu.

Usage:
distance_1.is_object_detected()

Parametry

Opis

Ta metoda nie ma żadnych parametrów.

# Turn until an object is detected
drivetrain.turn(RIGHT)
while not distance_1.is_object_detected():
    wait(15, MSEC)
drivetrain.stop()
brain.screen.print("Object detected!")

distance#

distance zwraca odległość między czujnikiem odległości a najbliższym wykrytym obiektem jako liczbę dziesiętną (liczba zmiennoprzecinkowa).

Uwaga: Jest to metoda czujnika odległości VEX IQ (1. generacji).

Usage:
distance_1.distance(units)

Parametry

Opis

units

Opcjonalnie. Jednostka odległości: MM (domyślnie, od 24 mm do 1000 mm) lub INCHES (od 1 cala do 40 cali).

# Display the distance to an object
if distance_1.is_object_detected():
    print("Distance: ")
    print(distance_1.distance(MM))
else:
    print("No object detected")

object_distance#

object_distance zwraca odległość między czujnikiem odległości a najbliższym wykrytym obiektem jako liczbę dziesiętną (float).

Uwaga: Jest to metoda czujnika odległości VEX IQ (2. generacji).

Usage:
distance_1.object_distance(units)

Parametry

Opis

units

Opcjonalnie. Jednostka odległości: MM (domyślnie, od 20 mm do 2000 mm), INCHES (od 0,78 cala do 78 cali) lub DistanceUnits.CM (od 2 cm do 200 cm).

# Drive forward until an object is 200 mm away
while distance_1.object_distance(MM) > 200:
    drivetrain.drive(FORWARD)
drivetrain.stop()

object_velocity#

object_velocity zwraca względną prędkość wykrytego obiektu jako wartość dziesiętną (float) w m/s (metrach na sekundę).

Prędkość pokazuje, jak szybko obiekt zbliża się do czujnika odległości lub od niego oddala. Wartość dodatnia oznacza, że ​​obiekt zbliża się do czujnika odległości. Wartość ujemna oznacza, że ​​obiekt się oddala. Wartość bliska 0 oznacza, że ​​obiekt nie porusza się znacząco względem czujnika.

Uwaga: Jest to metoda czujnika odległości VEX IQ (2. generacji).

Usage:
distance_1.object_velocity()

Parametry

Opis

Ta metoda nie ma żadnych parametrów.

# Display the velocity of a moving object
while True:
    brain.screen.clear_screen()
    brain.screen.set_cursor(1, 1)
    brain.screen.print("Velocity: ")
    brain.screen.print(distance_1.object_velocity())
    wait(100, MSEC)

object_size#

object_size zwraca szacowany rozmiar obiektu wykrytego przez czujnik odległości.

Czujnik odległości szacuje rozmiar obiektu na podstawie tego, jaka część pola widzenia czujnika zajmuje wykryty obiekt.

  • ObjectSizeType.NONE — Nie wykryto żadnego obiektu.

  • ObjectSizeType.SMALL — Wykryto mały obiekt.

  • ObjectSizeType.MEDIUM — Wykryto obiekt średniej wielkości.

  • ObjectSizeType.LARGE — Wykryto duży obiekt.

Uwaga: Jest to metoda czujnika odległości VEX IQ (2. generacji).

Usage:
distance_1.object_size()

Parametry

Opis

Ta metoda nie ma żadnych parametrów.

installed#

installed zwraca informację, czy czujnik odległości jest zainstalowany i podłączony.

  • True — Czujnik odległości jest zainstalowany i podłączony.

  • False — Czujnik odległości nie jest zainstalowany lub nie jest podłączony.

Usage:
distance_1.installed()

Parametry

Opis

Ta metoda nie ma żadnych parametrów.

Konstruktorzy#

Constructors are used to manually create Distance and Sonar objects, such as when configuring a Distance Sensor outside of VEXcode.

Sonar#

Sonar tworzy obiekt czujnika odległości VEX IQ (1. generacja).

Usage:
distance_1 = Sonar(smartport)

Parametr

Opis

smartport

Inteligentny port, do którego podłączony jest czujnik odległości, zapisany jako Ports.PORTx, gdzie x to numer portu.

# Create a Sonar object in Port 1
distance_1 = Sonar(Ports.PORT1)

Distance#

Distance tworzy obiekt czujnika odległości VEX IQ (2. generacja).

Usage:
distance_1 = Distance(smartport)

Parametr

Opis

smartport

Inteligentny port, do którego podłączony jest czujnik odległości, zapisany jako Ports.PORTx, gdzie x to numer portu.

# Create a Distance object in Port 1
distance_1 = Distance(Ports.PORT1)