Capteur d’objets#

Introduction#

La classe objectdetector est utilisée pour mesurer la réflectivité et détecter les objets par le capteur d’objets.

Constructeur de classe#

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

Destructeur de classe#

Détruit l’objet objectdetector et libère les ressources associées.

virtual ~objectdetector();

Paramètres#

Paramètre

Taper

Description

port

triport::port &

Le port à 3 fils auquel le capteur d’objets est connecté, écrit comme Brain.ThreeWirePort.X ou ExpanderName.X, où X est la lettre du port (par exemple, Brain.ThreeWirePort.A ou Expander1.A).

bReverse

bool

Valeur booléenne optionnelle pour inverser le sens de détection du capteur d’objet :

  • false (par défaut) — Ne pas inverser le sens
  • true — Inverser le sens

Exemples#

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

Fonctions des membres#

La classe objectdetector comprend les fonctions membres suivantes :

  • reflectivity — Renvoie la réflectivité détectée par le capteur d’objet.

  • isObjectDetected — Renvoie si le capteur d’objet détecte un objet.

  • setDetectionThreshold — Définit la portée de détection du capteur d’objet.

  • objectDetected — Enregistre une fonction à appeler lorsque le capteur d’objet détecte un objet.

  • objectLost — Enregistre une fonction à appeler lorsque le capteur d’objets perd un objet.

Avant d’appeler les fonctions membres de objectdetector , une instance objectdetector doit être créée, comme indiqué ci-dessous :

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

reflectivity#

Renvoie la réflectivité mesurée par le capteur d’objet.

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

Parameters

Paramètres

Taper

Description

units

percentUnits

The unit that represents the reflectivity:

  • percent / pct — percent

Return Values

Renvoie un int32_t représentant la réflectivité mesurée par le détecteur d’objets en pourcentage dans la plage 0 - 100 %.

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

isObjectDetected#

Indique si un objet est actuellement détecté par le détecteur d’objets.

Available Functions
bool isObjectDetected();

Parameters

Cette fonction ne prend aucun paramètre.

Return Values

Renvoie une valeur booléenne indiquant si un objet est détecté :

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

setDetectionThreshold#

Définit le seuil de détection du détecteur d’objets à une valeur spécifique.

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

Parameters

Paramètres

Taper

Description

threshold

int32_t

Le seuil de réflectivité pour la détection d’objets, dans la plage 0 - 100.

units

percentUnits

L’unité qui représente le nouveau seuil :

  • percent pour pct pour cent

Return Values

Cette fonction ne renvoie aucune valeur.

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

objectDetected#

Enregistre une fonction de rappel pour le moment où un objet est détecté.

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

Parameters

Paramètre

Taper

Description

callback

void (*)(void)

La fonction de rappel à appeler lorsqu’un objet est détecté.

Return Values

Cette fonction ne renvoie aucune valeur.

Examples

Définissez la fonction de rappel (en dehors de int main())

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

Enregistrez le rappel à l’intérieur de int main()

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

objectLost#

Enregistre une fonction de rappel pour le cas où un objet est perdu.

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

Parameters

Paramètre

Taper

Description

callback

void (*)(void)

La fonction de rappel à appeler lorsqu’un objet est perdu.

Return Values

Cette fonction ne renvoie aucune valeur.

Examples

Définissez la fonction de rappel (en dehors de int main())

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

Enregistrez le rappel à l’intérieur de int main()

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