Czujnik odległości#

Wstęp#

Sonar klasy sonar jest używany z czujnikiem odległości VEX IQ (1. generacji). Sonar klasy distance jest używany z czujnikiem odległości VEX IQ (2. generacji).

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

Konstruktory klas#

1 — Ten konstruktor tworzy czujnik odległości VEX IQ (1. generacja).

sonar(
    int32_t index);

2 — Ten konstruktor tworzy czujnik odległości VEX IQ (2. generacja).

distance(
    int32_t index);

Destruktor klasy#

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

1 — Niszczy czujnik odległości VEX IQ (1. generacja).

~sonar();

2 — Niszczy czujnik odległości VEX IQ (2. generacja).

~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#

1 — Utwórz instancję czujnika odległości VEX IQ (1. generacji) w porcie 1.

sonar Distance1 = sonar(PORT1);

2 — Utwórz instancję czujnika odległości VEX IQ (2. generacja) w porcie 1.

distance Distance1 = distance(PORT1);

Funkcje członkowskie#

Klasa sonaru sonar zawiera następujące funkcje członkowskie:

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

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

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.

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

  • objectSize — Zwraca szacowany rozmiar wykrytego obiektu.

  • 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.

Before calling any distance or sonar member functions, a distance or sonar instance must be created, as shown below:

/* 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 VEX IQ Distance Sensor (2nd gen) instance in Port 1
distance Distance1 = distance(PORT1);

foundObject#

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

Available Functions
bool foundObject();

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.
Notes - This is a VEX IQ Distance Sensor (1st gen) function.

distance#

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

Available Functions
double distance( distanceUnits units );

Parameters

Parametr

Typ

Opis

units

distanceUnits

Jednostka odległości:

  • mm — milimetry (od 24 mm do 1000 mm)
  • cm — centymetry (od 2,4 cm do 100 cm)
  • inches — cale (od 1 cala do 40 cali)

Return Values

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

Notes - This is a VEX IQ Distance Sensor (1st gen) function.

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 cali)

Return Values

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

Notes - This is a VEX IQ Distance Sensor (2nd gen) function.

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ę).

Notes - This is a VEX IQ Distance Sensor (2nd gen) function.

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.
Notes - This is a VEX IQ Distance Sensor (2nd gen) function.

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.
Notes - This is a VEX IQ Distance Sensor (2nd gen) function.

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.

Notes - This is a VEX IQ Distance Sensor (1st gen) or (2nd gen) function.

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.
Notes - This is a VEX IQ Distance Sensor (1st gen) or (2nd gen) function.