Avståndssensor#

Introduktion#

Avståndsklassen distance används för att styra och komma åt data från en avståndssensor.

Avståndssensorn kan detektera om ett objekt befinner sig framför sensorn och returnera hur långt bort objektet är. Den kan också returnera det detekterade objektets relativa hastighet och uppskatta om objektet är litet, medelstort eller stort.

Avståndssensorn arbetar inom ett område från 20 mm till 2000 mm.

Under 200 mm är noggrannheten cirka ±15 mm. Över 200 mm förbättras noggrannheten till cirka 5 %.

Avståndssensorn använder en laser av klass 1. Detekteringen riktas rakt fram och är klassrumssäker.

Klasskonstruktörer#

distance( int32_t  index );

Klassförstörare#

Förstör objektet med avstånd distance och frigör tillhörande resurser.

~distance();

Parametrar#

Parameter

Typ

Beskrivning

index

int32_t

Den smarta porten som avståndssensorn är ansluten till, skriven som PORTx, där x är portnumret (till exempel PORT1).

Exempel#

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

Medlemsfunktioner#

Klassen distance innehåller följande medlemsfunktioner:

  • objectDistance — Returnerar avståndet mellan avståndssensorn och det närmaste detekterade objektet.

  • objectSize — Returnerar den uppskattade storleken på det detekterade objektet.

  • objectVelocity — Returnerar hur snabbt det detekterade objektet rör sig mot eller bort från avståndssensorn.

  • 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 med distance anropas måste en instans med distance skapas, som visas 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 Distance Sensor instance in Port 1
distance Distance1 = distance(PORT1);

objectDistance#

Returnerar avståndet mellan avståndssensorn och det närmaste detekterade objektet.

Available Functions
double objectDistance( distanceUnits units );

Parameters

Parameter

Typ

Beskrivning

units

distanceUnits

Avståndsenheten:

  • mm - millimeter (20 mm till 2000 mm)
  • cm - centimeter (2 cm till 200 cm)
  • inches - tum (0,78 tum till 78,74 tum)

Return Values

Returnerar double som representerar avståndet mellan avståndssensorn och det närmaste detekterade objektet i de angivna enheterna.

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 Functions
sizeType objectSize();

Parameters

Den här funktionen tar inga parametrar.

Return Values

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

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 Functions
double objectVelocity();

Parameters

Den här funktionen tar inga parametrar.

Return Values

Returnerar double som representerar den relativa hastigheten för det detekterade objektet i m/s (meter per sekund).

isObjectDetected#

Returnerar om avståndssensorn för närvarande detekterar ett objekt.

Available Functions
bool isObjectDetected();

Parameters

Den här funktionen tar inga parametrar.

Return Values

Returnerar 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 Functions
void changed( void (* callback)(void) );

Parameters

Parameter

Typ

Beskrivning

callback

void (*)(void)

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

Return Values

Den här funktionen returnerar inget värde.

installed#

Returnerar om avståndssensorn är installerad och ansluten.

Available Functions
bool installed();

Parameters

Den här funktionen tar inga parametrar.

Return Values

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