Objektsensor#

Introduktion#

Klassen objectdetector används för att mäta reflektivitet och detektera objekt med hjälp av objektsensorn.

Klasskonstruktor#

objectdetector( 
  triport::port &port, 
  bool           bReverse = false );

Klassförstörare#

Förstör objectdetector objektet och frigör tillhörande resurser.

virtual ~objectdetector();

Parametrar#

Parameter

Typ

Beskrivning

port

triport::port &

Den 3-trådsport som objektsensorn är ansluten till, skriven som Brain.ThreeWirePort.X eller ExpanderName.X, där X är portbokstaven (till exempel Brain.ThreeWirePort.A eller Expander1.A).

bReverse

bool

Ett valfritt booleskt värde för att reversera objektsensorns riktning:

  • false (standard) — Reversera inte riktningen
  • true — Reversera riktningen

Exempel#

// Create an objectdetector instance in Port A
objectdetector ObjectSensorA = objectdetector(Brain.ThreeWirePort.A, true);

Medlemsfunktioner#

Klassen objectdetector innehåller följande medlemsfunktioner:

  • reflectivity — Returnerar den reflektivitet som detekterats av objektsensorn.

  • isObjectDetected — Returnerar om objektsensorn detekterar ett objekt.

  • setDetectionThreshold — Ställer in objektsensorns detekteringsområde.

  • objectDetected — Registrerar en funktion som ska anropas när objektsensorn detekterar ett objekt.

  • objectLost — Registrerar en funktion som ska anropas när objektsensorn förlorar ett objekt.

Innan någon funktion med objectdetector medlem anropas måste en objectdetector instans skapas, som visas nedan:

// Create an objectdetector instance in Port A
objectdetector ObjectSensorA = objectdetector(Brain.ThreeWirePort.A, true);

reflectivity#

Returnerar den reflektivitet som mätts av objektsensorn.

Available Functions
int32_t reflectivity( 
  percentUnits units = percentUnits::pct );

Parameters

Parametrar

Typ

Beskrivning

units

percentUnits

Enheten som representerar reflektiviteten:

  • percent / pct — procent

Return Values

Returnerar int32_t som representerar reflektiviteten mätt av objektdetektorn som en procentandel i intervallet 0–100 %.

Examples
// Display the detected reflectivity on the Brain's screen
int32_t value = ObjectSensorA.reflectivity();
Brain.Screen.print(value);

isObjectDetected#

Returnerar om ett objekt för närvarande detekteras av objektdetektorn.

Available Functions
bool isObjectDetected();

Parameters

Den här funktionen tar inga parametrar.

Return Values

Returnerar ett booleskt värde som anger om ett objekt har upptäckts:

  • true — An object is detected.
  • false — No object is detected.

setDetectionThreshold#

Ställer in detektionströskeln för objektdetektorn till ett specifikt värde.

Available Functions
void setDetectionThreshold( 
  int32_t      threshold, 
  percentUnits units = percentUnits::pct );

Parameters

Parametrar

Typ

Beskrivning

threshold

int32_t

Reflektionsgränsen för objektdetektering, i intervallet 0–100.

units

percentUnits

Enheten som representerar det nya tröskelvärdet:

  • percent / pct — procent

Return Values

Den här funktionen returnerar inget värde.

Examples
// Set the reflectivity threshold to 50%
ObjectSensorA.setDetectionThreshold(50);

objectDetected#

Registrerar en återuppringningsfunktion för när ett objekt detekteras.

Available Functions
void objectDetected(void (* callback)(void));

Parameters

Parameter

Typ

Beskrivning

callback

void (*)(void)

Återanropsfunktionen som ska anropas när ett objekt detekteras.

Return Values

Den här funktionen returnerar inget värde.

Examples

Definiera callback-funktionen (utanför int main())

// Display a message when an object is detected.
void detected() {
  Brain.Screen.print("object detected");
}

Registrera återuppringningen inuti int main()

int main() {
  // Run detected when the Object Detector detects an object.
  ObjectSensorA.objectDetected(detected);
}

objectLost#

Registrerar en återuppringningsfunktion för när ett objekt går förlorat.

Available Functions
void objectLost(void (* callback)(void));

Parameters

Parameter

Typ

Beskrivning

callback

void (*)(void)

Återanropsfunktionen som ska anropas när ett objekt går förlorat.

Return Values

Den här funktionen returnerar inget värde.

Examples

Definiera callback-funktionen (utanför int main())

// Display a message when an object is lost.
void lost() {
  Brain.Screen.print("object lost");
}

Registrera återuppringningen inuti int main()

int main() {
  // Run lost when the Object Detector loses an object.
  ObjectSensorA.objectLost(lost);
}