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 |
|---|---|---|
|
|
A porta de 3 fios à qual o sensor de objectos está ligado, escrita como |
|
|
Um valor booleano opcional para inverter o sentido do sensor de objetos:
|
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 Functionsint32_t reflectivity(
percentUnits units = percentUnits::pct );
Parâmetros |
Tipo |
Descrição |
|---|---|---|
|
|
The unit that represents the reflectivity:
|
Retorna um valor int32_t que representa a refletividade medida pelo Detetor de Objetos como uma percentagem no intervalo de 0 a 100%.
// 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 Functionsbool isObjectDetected();
Esta função não recebe qualquer parâmetro.
Return ValuesRetorna 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 Functionsvoid setDetectionThreshold(
int32_t threshold,
percentUnits units = percentUnits::pct );
Parâmetros |
Tipo |
Descrição |
|---|---|---|
|
|
O limiar de refletividade para a deteção de objetos está na gama de 0 a 100. |
|
|
The unit that represents the new threshold:
|
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 Functionsvoid objectDetected(void (* callback)(void));
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
|
A função de callback a ser invocada quando um objeto é detetado. |
Esta função não devolve qualquer valor.
ExamplesDefina 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 Functionsvoid objectLost(void (* callback)(void));
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
|
A função de chamada de retorno a ser invocada quando um objeto é perdido. |
Esta função não devolve qualquer valor.
ExamplesDefina 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); }