Objectsensor#

Invoering#

De objectdetectorklasse objectdetector worden gebruikt om reflectiviteit te meten en objecten te detecteren door de objectsensor.

Klasseconstructor#

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

Klasse-destructor#

Vernietigt het objectdetector objectdetector object en geeft de bijbehorende resources vrij.

virtual ~objectdetector();

Parameters#

Parameter

Type

Beschrijving

port

triport::port &

De 3-draads poort waarop de objectsensor is aangesloten, wordt weergegeven als Brain.ThreeWirePort.X of ExpanderName.X, waarbij X de poortletter is (bijvoorbeeld Brain.ThreeWirePort.A of Expander1.A).

bReverse

bool

Een optionele booleanwaarde om de richting van de objectsensor om te keren:

  • false (standaard) — Richting niet omkeren
  • true — Richting omkeren

Voorbeelden#

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

Lidfuncties#

De objectdetectorklasse objectdetector lidfuncties:

  • reflectivity — Geeft de reflectiviteit terug die door de objectsensor is gedetecteerd.

  • isObjectDetected — Geeft aan of de objectsensor een object detecteert.

  • setDetectionThreshold — Stelt het detectiebereik van de objectsensor in.

  • objectDetected — Registreert een functie die moet worden aangeroepen wanneer de objectsensor een object detecteert.

  • objectLost — Registreert een functie die moet worden aangeroepen wanneer de objectsensor een object verliest.

Before calling any objectdetector member functions, a objectdetector instance must be created, as shown below:

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

reflectivity#

Geeft de reflectiviteit terug die door de objectsensor is gemeten.

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

Parameters

Parameters

Type

Beschrijving

units

percentUnits

De eenheid die de reflectiviteit weergeeft:

  • percent / pct — procent

Return Values

Retourneert een int32_t die de reflectiviteit weergeeft, gemeten door de objectdetector als een percentage in het bereik van 0 - 100%.

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

isObjectDetected#

Geeft aan of er momenteel een object wordt gedetecteerd door de objectdetector.

Available Functions
bool isObjectDetected();

Parameters

Deze functie accepteert geen parameters.

Return Values

Retourneert een Booleaanse waarde die aangeeft of een object is gedetecteerd:

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

setDetectionThreshold#

Stelt de detectiedrempel voor de objectdetector in op een specifieke waarde.

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

Parameters

Parameters

Type

Beschrijving

threshold

int32_t

De reflectiviteitsdrempel voor objectdetectie ligt tussen 0 en 100.

units

percentUnits

De eenheid die de nieuwe drempelwaarde vertegenwoordigt:

  • percent / pct — procent

Return Values

Deze functie retourneert geen waarde.

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

objectDetected#

Registreert een callbackfunctie die wordt aangeroepen wanneer een object wordt gedetecteerd.

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

Parameters

Parameter

Type

Beschrijving

callback

void (*)(void)

De callbackfunctie die wordt aangeroepen wanneer een object wordt gedetecteerd.

Return Values

Deze functie retourneert geen waarde.

Examples

Definieer de callbackfunctie (buiten int main())

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

Registreer de callback binnen int main()

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

objectLost#

Registreert een callbackfunctie voor het geval een object verloren gaat.

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

Parameters

Parameter

Type

Beschrijving

callback

void (*)(void)

De callbackfunctie die wordt aangeroepen wanneer een object verloren gaat.

Return Values

Deze functie retourneert geen waarde.

Examples

Definieer de callbackfunctie (buiten int main())

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

Registreer de callback binnen int main()

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