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 |
|---|---|---|
|
|
Der 3-Draht-Anschluss, an den der Objektsensor angeschlossen ist, wird als |
|
|
Ein optionaler boolescher Wert zur Umkehrung der Richtung des Objektsensors:
|
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 Functionsint32_t reflectivity(
percentUnits units = percentUnits::pct );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
The unit that represents the reflectivity:
|
Gibt einen int32_t zurück, der die vom Objektdetektor gemessene Reflektivität als Prozentwert im Bereich von 0 - 100% darstellt.
// 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 Functionsbool isObjectDetected();
Diese Funktion benötigt keine Parameter.
Return ValuesGibt 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 Functionsvoid setDetectionThreshold(
int32_t threshold,
percentUnits units = percentUnits::pct );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Der Reflexionsgradschwellenwert für die Objekterkennung liegt im Bereich von 0 bis 100. |
|
|
The unit that represents the new threshold:
|
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 Functionsvoid objectDetected(void (* callback)(void));
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Die Callback-Funktion, die aufgerufen werden soll, wenn ein Objekt erkannt wird. |
Diese Funktion gibt keinen Wert zurück.
ExamplesDefiniere 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 Functionsvoid objectLost(void (* callback)(void));
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Die Callback-Funktion, die aufgerufen wird, wenn ein Objekt verloren geht. |
Diese Funktion gibt keinen Wert zurück.
ExamplesDefiniere 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); }