Czujnik odległości#

Wstęp#

Czujnik odległości potrafi wykryć, czy obiekt znajduje się przed czujnikiem i określić jego odległość. Może również określić prędkość względną wykrytego obiektu i oszacować, czy jest on mały, średni czy duży.

Czujnik odległości działa w zakresie od 20 mm do 2000 mm.

Poniżej 200 mm dokładność wynosi około ±15 mm. Powyżej 200 mm dokładność poprawia się do około 5%.

Czujnik odległości wykorzystuje laser klasy 1. Detekcja odbywa się na wprost i jest bezpieczna w klasach szkolnych.

Czujnik odległości.

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

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

  • object_distance — Zwraca odległość między czujnikiem odległości a najbliższym wykrytym obiektem.

  • object_velocity — Zwraca informację o tym, jak szybko wykryty obiekt porusza się w kierunku czujnika odległości lub od niego.

  • object_size — Zwraca szacowany rozmiar wykrytego obiektu.

  • is_object_detected — Zwraca informację, czy czujnik odległości aktualnie wykrył obiekt.

  • changed — Rejestruje funkcję, która ma zostać uruchomiona za każdym razem, gdy zmieni się wartość czujnika odległości.

Konstruktor — ręczna inicjalizacja czujnika odległości.

  • Distance — Tworzy czujnik odległości.

odległość_obiektu#

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

Usage:
distance_sensor.object_distance(units)

Parametry

Opis

units

Opcjonalnie. Jednostka odległości: MM (domyślnie, od 20 mm do 2000 mm) lub INCHES (od 0,78 cala do 78,74 cala).

# Drive forward until the object is within 50 mm away
drivetrain.drive(FORWARD)
while not distance_sensor.object_distance(MM) < 50:
  pass
drivetrain.stop()

prędkość_obiektu#

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 odsuwa. Wartość bliska 0 oznacza, że ​​obiekt nie porusza się znacząco względem czujnika.

Usage:
distance_sensor.object_velocity()

Parametry

Opis

Ta metoda nie ma żadnych parametrów.

rozmiar_obiektu#

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(0, “NONE”) — Nie wykryto żadnego obiektu.

  • ObjectSizeType(1, “SMALL”) — Wykryto mały obiekt.

  • ObjectSizeType(2, “MEDIUM”) — Wykryto obiekt średniej wielkości.

  • ObjectSizeType(3, “LARGE”) — Wykryto duży obiekt.

Usage:
distance_sensor.object_size()

Parametry

Opis

Ta metoda nie ma żadnych parametrów.

wykryto_obiekt#

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

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

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

Usage:
distance_sensor.is_object_detected()

Parametry

Opis

Ta metoda nie ma żadnych parametrów.

# Drive forward until the object is within 50 mm away
while True:
  drivetrain.drive(FORWARD)
  if distance_sensor.is_object_detected():
    if distance_sensor.object_distance(MM) < 50:
      drivetrain.stop()
      break

zmieniony#

changed rejestruje funkcję, która ma zostać wywołana za każdym razem, gdy zmieni się wartość czujnika odległości.

Usage:
distance_sensor.changed(callback, arg)

Parametry

Opis

callback

Wcześniej zdefiniowana funkcja, która jest wykonywana, gdy zmienia się wartość czujnika odległości.

arg

Opcjonalnie. Krotka zawierająca argumenty do przekazania do funkcji wywołania zwrotnego. Więcej informacji można znaleźć w Używanie funkcji z parametrami.

def my_function():
  brain.screen.print("Distance changed")

# Call my_function whenever distance_sensor's value changes
distance_sensor.changed(my_function)

Konstruktor#

Konstruktory służą do ręcznego tworzenia obiektów o odległości Distance , na przykład podczas konfigurowania czujnika odległości poza programem VEXcode.

Distance#

Distance tworzy obiekt czujnika odległości.

Usage:
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 Sensor in Port 10
distance_sensor = Distance(Ports.PORT10)