Objektsensor#

Einführung#

Die Klasse objectdetector wird verwendet, um die Reflektivität zu messen und Objekte mit Hilfe des Objektsensors zu erkennen.

Klassenkonstruktor#

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

Klassendestruktor#

Zerstört das Objekt objectdetector und gibt die zugehörigen Ressourcen frei.

virtual ~objectdetector();

Parameter#

Parameter

Typ

Beschreibung

port

triport::port &

Der 3-Draht-Anschluss, an den der Objektsensor angeschlossen ist, wird als Brain.ThreeWirePort.X oder ExpanderName.Xgeschrieben, wobei X der Anschlussbuchstabe ist (zum Beispiel Brain.ThreeWirePort.A oder Expander1.A).

bReverse

bool

Ein optionaler boolescher Wert zur Umkehrung der Richtung des Objektsensors:

  • false (Standard) – Richtung nicht umkehren
  • true – Richtung umkehren

Beispiele#

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

Mitgliedsfunktionen#

Die Klasse objectdetector enthält die folgenden Memberfunktionen:

  • reflectivity — Gibt die vom Objektsensor erfasste Reflektivität zurück.

  • isObjectDetected — Gibt zurück, ob der Objektsensor ein Objekt erkennt.

  • setDetectionThreshold — Legt den Erfassungsbereich des Objektsensors fest.

  • objectDetected — Registriert eine Funktion, die aufgerufen werden soll, wenn der Objektsensor ein Objekt erkennt.

  • objectLost — Registriert eine Funktion, die aufgerufen wird, wenn der Objektsensor ein Objekt verliert.

Bevor Sie eine der Memberfunktionen von objectdetector aufrufen, muss eine Instanz von objectdetector erstellt werden, wie unten gezeigt:

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

reflectivity#

Gibt den vom Objektsensor gemessenen Reflexionsgrad zurück.

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

Parameters

Parameter

Typ

Beschreibung

units

percentUnits

The unit that represents the reflectivity:

  • percent / pct — percent

Return Values

Gibt einen int32_t zurück, der die vom Objektdetektor gemessene Reflektivität als Prozentwert im Bereich von 0 - 100% darstellt.

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

isObjectDetected#

Gibt zurück, ob ein Objekt aktuell vom Objektdetektor erkannt wird.

Available Functions
bool isObjectDetected();

Parameters

Diese Funktion benötigt keine Parameter.

Return Values

Gibt einen booleschen Wert zurück, der angibt, ob ein Objekt erkannt wurde:

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

setDetectionThreshold#

Legt den Erkennungsschwellenwert für den Objektdetektor auf einen bestimmten Wert fest.

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

Parameters

Parameter

Typ

Beschreibung

threshold

int32_t

Der Reflexionsgradschwellenwert für die Objekterkennung liegt im Bereich von 0 bis 100.

units

percentUnits

The unit that represents the new threshold:

  • percent / pct — percent

Return Values

Diese Funktion gibt keinen Wert zurück.

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

objectDetected#

Registriert eine Callback-Funktion, die aufgerufen wird, wenn ein Objekt erkannt wird.

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

Parameters

Parameter

Typ

Beschreibung

callback

void (*)(void)

Die Callback-Funktion, die aufgerufen werden soll, wenn ein Objekt erkannt wird.

Return Values

Diese Funktion gibt keinen Wert zurück.

Examples

Definiere die Callback-Funktion (außerhalb von int main())

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

Registriere den Callback innerhalb von int main()

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

objectLost#

Registriert eine Rückruffunktion, die aufgerufen wird, wenn ein Objekt verloren geht.

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

Parameters

Parameter

Typ

Beschreibung

callback

void (*)(void)

Die Callback-Funktion, die aufgerufen wird, wenn ein Objekt verloren geht.

Return Values

Diese Funktion gibt keinen Wert zurück.

Examples

Definiere die Callback-Funktion (außerhalb von int main())

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

Registriere den Callback innerhalb von int main()

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