Sensor de objetos#

Introducción#

La objectdetector clase objectdetector se utiliza para medir la reflectividad y detectar objetos mediante el sensor de objetos.

Constructor de clases#

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

Destructor de clase#

Destruye el objectdetector objeto objectdetector y libera los recursos asociados.

virtual ~objectdetector();

Parámetros#

Parámetro

Tipo

Descripción

port

triport::port &

El puerto de 3 hilos al que está conectado el sensor de objetos, escrito Brain.ThreeWirePort.X Brain.ThreeWirePort.X ExpanderName.XExpanderName.X, donde X es la letra del puerto (por ejemplo Brain.ThreeWirePort.A o Expander1.A).

bReverse

bool

Un booleano opcional para invertir la dirección del sensor de objetos:

  • false (predeterminado) — No invertir la dirección
  • true — Invertir la dirección

Ejemplos#

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

Funciones de los miembros#

La objectdetector clase objectdetector incluye las siguientes funciones miembro:

  • reflectivity — Devuelve la reflectividad detectada por el sensor de objetos.

  • isObjectDetected — Devuelve si el sensor de objetos detecta un objeto.

  • setDetectionThreshold — Establece el rango de detección del sensor de objetos.

  • objectDetected — Registra una función que se llamará cuando el sensor de objetos detecte un objeto.

  • objectLost — Registra una función que se llamará cuando el sensor de objetos pierda un objeto.

Antes de llamar a objectdetector miembro de objectdetector, se objectdetector instancia de objectdetector, como se muestra a continuación:

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

reflectivity#

Devuelve la reflectividad medida por el sensor de objetos.

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

Parameters

Parámetros

Tipo

Descripción

units

percentUnits

La unidad que representa la reflectividad:

  • percent / pct — porcentaje

Return Values

Devuelve un int32_t que representa la reflectividad medida por el detector de objetos como un porcentaje en el rango de 0 - 100%.

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

isObjectDetected#

Devuelve si el detector de objetos detecta actualmente un objeto.

Available Functions
bool isObjectDetected();

Parameters

Esta función no toma ningún parámetro.

Return Values

Devuelve un booleano que indica si se detecta un objeto:

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

setDetectionThreshold#

Establece el umbral de detección para el detector de objetos en un valor específico.

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

Parameters

Parámetros

Tipo

Descripción

threshold

int32_t

El umbral de reflectividad para la detección de objetos, en el rango de 0 - 100.

units

percentUnits

La unidad que representa el nuevo umbral:

  • percent / pct — porcentaje

Return Values

Esta función no devuelve un valor.

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

objectDetected#

Registra una función de devolución de llamada para cuando se detecta un objeto.

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

Parameters

Parámetro

Tipo

Descripción

callback

void (*)(void)

La función de devolución de llamada que se llamará cuando se detecte un objeto.

Return Values

Esta función no devuelve un valor.

Examples

Defina la función de devolución de llamada (fuera de int main())

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

Registrar la devolución de llamada dentro de int main()

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

objectLost#

Registra una función de devolución de llamada para cuando se pierde un objeto.

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

Parameters

Parámetro

Tipo

Descripción

callback

void (*)(void)

La función de devolución de llamada que se llamará cuando se pierda un objeto.

Return Values

Esta función no devuelve un valor.

Examples

Defina la función de devolución de llamada (fuera de int main())

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

Registrar la devolución de llamada dentro de int main()

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