Sensor de objeto#

Introdução#

A classe objectdetector é utilizada para medir a reflectividade e detectar objectos pelo Sensor de Objectos.

Construtor de Classes#

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

Destrutor de classes#

Destrói o objeto objectdetector e liberta os recursos associados.

virtual ~objectdetector();

Parâmetros#

Parâmetro

Tipo

Descrição

port

triport::port &

A porta de 3 fios à qual o sensor de objectos está ligado, escrita como Brain.ThreeWirePort.X ou ExpanderName.X, em que X é a letra da porta (por exemplo, Brain.ThreeWirePort.A ou Expander1.A).

bReverse

bool

Um valor booleano opcional para inverter o sentido do sensor de objetos:

  • false (padrão) — Não inverter o sentido
  • true — Inverter o sentido

Exemplos#

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

Funções de membro#

A classe `objectdetector objectdetector 1) inclui as seguintes funções membro:

  • reflectivity — Retorna a reflectividade detectada pelo sensor de objectos.

  • isObjectDetected — Retorna se o Sensor de Objectos detectou um objecto.

  • setDetectionThreshold — Define o alcance de deteção do Sensor de Objetos.

  • objectDetected — Regista uma função a ser chamada quando o Sensor de Objetos deteta um objeto.

  • objectLost — Regista uma função a ser chamada quando o Sensor de Objectos perde um objecto.

Antes de chamar qualquer função membro de objectdetector , deve ser criada uma instância de objectdetector , como se mostra abaixo:

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

reflectivity#

Retorna a refletividade medida pelo sensor de objetos.

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

Parameters

Parâmetros

Tipo

Descrição

units

percentUnits

The unit that represents the reflectivity:

  • percent / pct — percent

Return Values

Retorna um valor int32_t que representa a refletividade medida pelo Detetor de Objetos como uma percentagem no intervalo de 0 a 100%.

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

isObjectDetected#

Retorna se um objeto foi detetado pelo Detetor de Objetos.

Available Functions
bool isObjectDetected();

Parameters

Esta função não recebe qualquer parâmetro.

Return Values

Retorna um valor booleano indicando se um objeto foi detetado:

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

setDetectionThreshold#

Define o limite de deteção do Detetor de Objetos para um valor específico.

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

Parameters

Parâmetros

Tipo

Descrição

threshold

int32_t

O limiar de refletividade para a deteção de objetos está na gama de 0 a 100.

units

percentUnits

The unit that represents the new threshold:

  • percent / pct — percent

Return Values

Esta função não devolve qualquer valor.

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

objectDetected#

Regista uma função de retorno de chamada para quando um objeto é detetado.

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

Parameters

Parâmetro

Tipo

Descrição

callback

void (*)(void)

A função de callback a ser invocada quando um objeto é detetado.

Return Values

Esta função não devolve qualquer valor.

Examples

Defina a função de callback (fora de int main())

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

Registe o callback dentro de int main()

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

objectLost#

Regista uma função de retorno de chamada para quando um objeto é perdido.

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

Parameters

Parâmetro

Tipo

Descrição

callback

void (*)(void)

A função de chamada de retorno a ser invocada quando um objeto é perdido.

Return Values

Esta função não devolve qualquer valor.

Examples

Defina a função de callback (fora de int main())

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

Registe o callback dentro de int main()

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