Датчик объекта#
Введение#
Класс objectdetector используется для измерения отражательной способности и обнаружения объектов с помощью инфракрасного (ИК) света датчика объектов.
Конструктор класса#
objectdetector(
triport::port &port,
bool bReverse = false );
Деструктор класса#
Уничтожает объект objectdetector и освобождает связанные с ним ресурсы.
virtual ~objectdetector();
Параметры#
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Трехпроводной порт, к которому подключен датчик объектов, обозначается как |
|
|
Необязательный логический параметр для изменения направления движения датчика объекта:
|
Примеры#
// 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 Functionsint32_t reflectivity(
percentUnits units = percentUnits::pct );
Параметры |
Тип |
Описание |
|---|---|---|
|
|
The unit that represents the reflectivity:
|
Возвращает значение int32_t , представляющее собой коэффициент отражения, измеренный детектором объектов, в процентах в диапазоне от 0 до 100%.
// Display the detected reflectivity on the Brain's screen
int32_t value = ObjectSensorA.reflectivity();
Brain.Screen.print(value);
isObjectDetected#
Возвращает значение, указывающее, обнаружен ли объект в данный момент детектором объектов.
Available Functionsbool isObjectDetected();
Эта функция не принимает никаких параметров.
Return ValuesВозвращает логическое значение, указывающее, обнаружен ли объект:
-
true— An object is detected. -
false— No object is detected.
setDetectionThreshold#
Устанавливает пороговое значение обнаружения для детектора объектов на определенное значение.
Available Functionsvoid setDetectionThreshold(
int32_t threshold,
percentUnits units = percentUnits::pct );
Параметры |
Тип |
Описание |
|---|---|---|
|
|
Порог отражательной способности для обнаружения объектов находится в диапазоне от 0 до 100. |
|
|
Единица измерения, представляющая новый пороговый уровень:
|
Эта функция не возвращает значения.
Examples// Set the reflectivity threshold to 50%
ObjectSensorA.setDetectionThreshold(50);
objectDetected#
Регистрирует функцию обратного вызова, которая срабатывает при обнаружении объекта.
Available Functionsvoid objectDetected(void (* callback)(void));
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Функция обратного вызова, которая будет вызвана при обнаружении объекта. |
Эта функция не возвращает значения.
Examplesvoid detected() {
Brain.Screen.print("object detected");
}
// Run detected when the Object Detector detects an object
ObjectSensorA.objectDetected(detected);
objectLost#
Регистрирует функцию обратного вызова на случай потери объекта.
Available Functionsvoid objectLost(void (* callback)(void));
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Функция обратного вызова, которая будет вызвана при потере объекта. |
Эта функция не возвращает значения.
Examplesvoid lost() {
Brain.Screen.print("object lost");
}
// Run lost when the Object Detector loses an object
ObjectSensorA.objectLost(lost);