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 |
|---|---|---|
|
|
Inteligentny port, do którego podłączony jest czujnik odległości, zapisany jako |
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.zainstalowano
installed— 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 Functionsbool foundObject();
Funkcja ta nie przyjmuje żadnych parametrów.
Return ValuesZwraca 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.
distance#
Zwraca odległość między czujnikiem odległości a najbliższym wykrytym obiektem.
Available Functionsdouble distance( distanceUnits units );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Jednostka odległości:
|
Zwraca wartość double oznaczającą odległość między czujnikiem odległości a najbliższym wykrytym obiektem w określonych jednostkach.
objectDistance#
Zwraca odległość między czujnikiem odległości a najbliższym wykrytym obiektem.
Available Functionsdouble objectDistance( distanceUnits units );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Jednostka odległości:
|
Zwraca wartość double oznaczającą odległość między czujnikiem odległości a najbliższym wykrytym obiektem w określonych jednostkach.
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 Functionsdouble objectVelocity();
Funkcja ta nie przyjmuje żadnych parametrów.
Return ValuesZwraca wartość double , co oznacza względną prędkość wykrytego obiektu w m/s (metrach na sekundę).
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 FunctionssizeType objectSize();
Funkcja ta nie przyjmuje żadnych parametrów.
Return ValuesZwraca 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.
isObjectDetected#
Zwraca informację, czy czujnik odległości aktualnie wykrył obiekt.
Available Functionsbool isObjectDetected();
Funkcja ta nie przyjmuje żadnych parametrów.
Return ValuesZwraca 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 Functionsvoid changed( void (* callback)(void) );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
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ć |
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 Functionsbool installed();
Funkcja ta nie przyjmuje żadnych parametrów.
Return ValuesZwraca 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.