Датчик объекта#

Введение#

Класс objectdetector используется для измерения отражательной способности и обнаружения объектов с помощью инфракрасного (ИК) света датчика объектов.

Конструктор класса#

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

Деструктор класса#

Уничтожает объект objectdetector и освобождает связанные с ним ресурсы.

virtual ~objectdetector();

Параметры#

Параметр

Тип

Описание

port

triport::port &

Трехпроводной порт, к которому подключен датчик объектов, обозначается как Brain.ThreeWirePort.X или ExpanderName.X, где X — буква порта (например, Brain.ThreeWirePort.A или Expander1.A).

bReverse

bool

Необязательный логический параметр для изменения направления движения датчика объекта:

  • false (по умолчанию) — Не изменять направление
  • true — Изменить направление

Примеры#

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

Функции участников#

Класс objectdetector включает следующие функции-члены:

  • reflectivity — Возвращает отражательную способность, обнаруженную датчиком объекта.

  • isObjectDetected — Возвращает значение, указывающее, обнаружил ли датчик объектов объект.

  • setDetectionThreshold — Устанавливает диапазон обнаружения датчика объектов.

  • objectDetected — Регистрирует функцию, которая будет вызываться, когда датчик объектов обнаружит объект.

  • objectLost — Регистрирует функцию, которая будет вызываться, когда датчик объектов потеряет объект.

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#

Возвращает значение коэффициента отражения, измеренное датчиком объекта.

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

Parameters

Параметры

Тип

Описание

units

percentUnits

The unit that represents the reflectivity:

  • percent / pct — percent

Return Values

Возвращает значение int32_t , представляющее собой коэффициент отражения, измеренный детектором объектов, в процентах в диапазоне от 0 до 100%.

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

isObjectDetected#

Возвращает значение, указывающее, обнаружен ли объект в данный момент детектором объектов.

Available Functions
bool isObjectDetected();

Parameters

Эта функция не принимает никаких параметров.

Return Values

Возвращает логическое значение, указывающее, обнаружен ли объект:

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

setDetectionThreshold#

Устанавливает пороговое значение обнаружения для детектора объектов на определенное значение.

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

Parameters

Параметры

Тип

Описание

threshold

int32_t

Порог отражательной способности для обнаружения объектов находится в диапазоне от 0 до 100.

units

percentUnits

Единица измерения, представляющая новый пороговый уровень:

  • percent / pct — процентов

Return Values

Эта функция не возвращает значения.

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

objectDetected#

Регистрирует функцию обратного вызова, которая срабатывает при обнаружении объекта.

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

Parameters

Параметр

Тип

Описание

callback

void (*)(void)

Функция обратного вызова, которая будет вызвана при обнаружении объекта.

Return Values

Эта функция не возвращает значения.

Examples
void detected() {
  Brain.Screen.print("object detected");
}

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

objectLost#

Регистрирует функцию обратного вызова на случай потери объекта.

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

Parameters

Параметр

Тип

Описание

callback

void (*)(void)

Функция обратного вызова, которая будет вызвана при потере объекта.

Return Values

Эта функция не возвращает значения.

Examples
void lost() {
  Brain.Screen.print("object lost");
}

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