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 |
|---|---|---|
|
|
Inteligentny port, do którego podłączony jest czujnik odległości, zapisany jako |
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.zainstalowano
installed— 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 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.
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.
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ę).
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.
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.