Avståndssensor#
Introduktion#
Ekolodsklass sonar används med VEX IQ-avståndssensorn (1:a generationen). Ekolodsklass distance används med VEX IQ-avståndssensorn (2:a generationen).
Båda avståndssensorerna kan detektera om ett objekt befinner sig framför sensorn och returnera hur långt bort objektet är. VEX IQ-avståndssensorn (2:a generationen) kan också returnera det detekterade objektets relativa hastighet och uppskatta om objektet är litet, medelstort eller stort.
Klasskonstruktörer#
1 — Denna konstruktor skapar en VEX IQ-avståndssensor (1:a generationen).
sonar( int32_t index);
2 — Denna konstruktor skapar en VEX IQ-avståndssensor (2:a generationen).
distance( int32_t index);
Klassförstörare#
Förstör objektet med avstånd distance och frigör tillhörande resurser.
1 — Förstör en VEX IQ-avståndssensor (1:a generationen).
~sonar();
2 — Förstör en VEX IQ-avståndssensor (2:a generationen).
~distance();
Parametrar#
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Den smarta porten som avståndssensorn är ansluten till, skriven som |
Exempel#
1 — Skapa en VEX IQ-avståndssensorinstans (1:a generationen) i port 1.
sonar Distance1 = sonar(PORT1);
2 — Skapa en VEX IQ-avståndssensorinstans (2:a generationen) i port 1.
distance Distance1 = distance(PORT1);
Medlemsfunktioner#
Klassen sonar inkluderar följande medlemsfunktioner:
foundObject— Returnerar om avståndssensorn för närvarande detekterar ett objekt.distance— Returnerar avståndet mellan avståndssensorn och det närmaste detekterade objektet.
Klassen distance innehåller följande medlemsfunktioner:
objectDistance— Returnerar avståndet mellan avståndssensorn och det närmaste detekterade objektet.objectVelocity— Returnerar hur snabbt det detekterade objektet rör sig mot eller bort från avståndssensorn.objectSize— Returnerar den uppskattade storleken på det detekterade objektet.isObjectDetected— Returnerar om avståndssensorn för närvarande detekterar ett objekt.changed— Registrerar en återuppringningsfunktion som körs när det detekterade avståndsvärdet ändras.installed— Returnerar om avståndssensorn är installerad och ansluten.
Innan några medlemsfunktioner för distance eller sonar anropas måste en distance eller sonar instans skapas, enligt nedan:
/* 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#
Returnerar om avståndssensorn för närvarande detekterar ett objekt.
Available Functionsbool foundObject();
Den här funktionen tar inga parametrar.
Return ValuesReturnerar ett booleskt värde som anger om avståndssensorn detekterar ett objekt:
-
true— The Distance Sensor detects an object. -
false— The Distance Sensor does not detect an object.
distance#
Returnerar avståndet mellan avståndssensorn och det närmaste detekterade objektet.
Available Functionsdouble distance( distanceUnits units );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Avståndsenheten:
|
Returnerar double som representerar avståndet mellan avståndssensorn och det närmaste detekterade objektet i de angivna enheterna.
objectDistance#
Returnerar avståndet mellan avståndssensorn och det närmaste detekterade objektet.
Available Functionsdouble objectDistance( distanceUnits units );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Avståndsenheten:
|
Returnerar double som representerar avståndet mellan avståndssensorn och det närmaste detekterade objektet i de angivna enheterna.
objectVelocity#
Returnerar den relativa hastigheten för det detekterade objektet.
Hastigheten visar hur snabbt objektet rör sig mot eller bort från avståndssensorn. Ett värde nära 0 betyder att objektet inte rör sig mycket i förhållande till sensorn.
Available Functionsdouble objectVelocity();
Den här funktionen tar inga parametrar.
Return ValuesReturnerar double som representerar den relativa hastigheten för det detekterade objektet i m/s (meter per sekund).
objectSize#
Returnerar den uppskattade storleken på objektet som detekterats av avståndssensorn.
Avståndssensorn uppskattar objektstorleken baserat på hur mycket av sensorns synfält som upptas av det detekterade objektet.
Available FunctionssizeType objectSize();
Den här funktionen tar inga parametrar.
Return ValuesReturnerar en sizeType som anger den uppskattade storleken på det detekterade objektet:
-
none— No object is detected. -
small— A small object is detected. -
medium— A medium object is detected. -
large— A large object is detected.
isObjectDetected#
Returnerar om avståndssensorn för närvarande detekterar ett objekt.
Available Functionsbool isObjectDetected();
Den här funktionen tar inga parametrar.
Return ValuesReturnerar ett booleskt värde som anger om avståndssensorn detekterar ett objekt:
-
true— The Distance Sensor detects an object. -
false— The Distance Sensor does not detect an object.
changed#
Registrerar en återuppringningsfunktion som körs när det detekterade avståndsvärdet ändras.
Available Functionsvoid changed( void (* callback)(void) );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
En pekare till en funktion som anropas när det detekterade avståndsvärdet ändras. Funktionen får inte ta emot några parametrar och returnera |
Den här funktionen returnerar inget värde.
Notes - This is a VEX IQ Distance Sensor (1st gen) or (2nd gen) function.installed#
Returnerar om avståndssensorn är installerad och ansluten.
Available Functionsbool installed();
Den här funktionen tar inga parametrar.
Return ValuesReturnerar ett booleskt värde som anger om avståndssensorn är installerad och ansluten:
-
true— The Distance Sensor is installed and connected. -
false— The Distance Sensor is not installed or not connected.