Czujnik odległości#

Wstęp#

Klasa odległości distance służy do kontrolowania i uzyskiwania dostępu do danych z czujnika odległości.

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.

Konstruktory klas#

distance( int32_t  index );

Destruktor klasy#

Niszczy obiekt o odległości distance i uwalnia powiązane zasoby.

~distance();

Parametry#

Parametr

Typ

Opis

index

int32_t

Inteligentny port, do którego podłączony jest czujnik odległości, zapisany jako PORTx, gdzie x to numer portu (na przykład PORT1).

Przykłady#

// Create a Distance Sensor instance in Port 1
distance Distance1 = distance(PORT1);

Funkcje członkowskie#

Klasa odległości distance zawiera następujące funkcje członkowskie:

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

  • objectSize — Zwraca szacowany rozmiar wykrytego obiektu.

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

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

  • changed — Rejestruje funkcję wywołania zwrotnego, która jest uruchamiana, gdy zmienia się wykryta wartość odległości.

  • zainstalowanoinstalled — Zwraca informację, czy czujnik odległości jest zainstalowany i podłączony.

Przed wywołaniem jakiejkolwiek funkcji członkowskiej o odległości distance należy utworzyć instancję o odległości distance , jak pokazano poniżej:

/* This constructor is required when using VS Code.
Distance Sensor configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create a Distance Sensor instance in Port 1
distance Distance1 = distance(PORT1);

objectDistance#

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

Available Functions
double objectDistance( distanceUnits units );

Parameters

Parametr

Typ

Opis

units

distanceUnits

Jednostka odległości:

  • mm - milimetry (od 20 mm do 2000 mm)
  • cm - centymetry (od 2 cm do 200 cm)
  • inches - cale (od 0,78 cala do 78,74 cala)

Return Values

Zwraca wartość double oznaczającą odległość między czujnikiem odległości a najbliższym wykrytym obiektem w określonych jednostkach.

objectSize#

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.

Available Functions
sizeType objectSize();

Parameters

Funkcja ta nie przyjmuje żadnych parametrów.

Return Values

Zwraca wartość sizeType sizeType wskazującą szacunkowy rozmiar wykrytego obiektu:

  • none — No object is detected.
  • small — A small object is detected.
  • medium — A medium object is detected.
  • large — A large object is detected.

objectVelocity#

Zwraca względną prędkość wykrytego obiektu.

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.

Available Functions
double objectVelocity();

Parameters

Funkcja ta nie przyjmuje żadnych parametrów.

Return Values

Zwraca wartość double , co oznacza względną prędkość wykrytego obiektu w m/s (metrach na sekundę).

isObjectDetected#

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

Available Functions
bool isObjectDetected();

Parameters

Funkcja ta nie przyjmuje żadnych parametrów.

Return Values

Zwraca wartość logiczną wskazującą, czy czujnik odległości wykrył obiekt:

  • true — The Distance Sensor detects an object.
  • false — The Distance Sensor does not detect an object.

changed#

Rejestruje funkcję wywołania zwrotnego, która jest uruchamiana, gdy wykryta wartość odległości ulegnie zmianie.

Available Functions
void changed( void (* callback)(void) );

Parameters

Parametr

Typ

Opis

callback

void (*)(void)

Wskaźnik do funkcji, która zostanie wywołana po zmianie wykrytej wartości odległości. Funkcja nie może przyjmować żadnych parametrów i zwracać void.

Return Values

Ta funkcja nie zwraca wartości.

installed#

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

Available Functions
bool installed();

Parameters

Funkcja ta nie przyjmuje żadnych parametrów.

Return Values

Zwraca wartość logiczną wskazującą, czy czujnik odległości jest zainstalowany i podłączony:

  • true — The Distance Sensor is installed and connected.
  • false — The Distance Sensor is not installed or not connected.