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

Введение#

Датчик приближения Object Sensor — это инфракрасный (ИК) датчик, который определяет приближение объекта с помощью отраженного ИК-света.

Датчик объектов VEX.

На этой странице в качестве примера имени датчика объекта используется object_sensor При необходимости замените его на собственное имя, заданное вами.

Ниже приведён список доступных методов:

  • reflectivity – Возвращает integer, представляющее количество света, отраженного от объекта, в процентах.

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

  • set_threshold – Устанавливает количество отраженного света, необходимое для того, чтобы объект считался обнаруженным.

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

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

  • changed – Регистрирует функцию, которая будет вызываться всякий раз, когда изменяется значение датчика объекта.

Конструктор – Ручная инициализация датчика объекта.

отражательная способность#

reflectivity возвращает integer, представляющее количество света, отраженного от объекта, в процентах.

Примечание:

  • 0% отражательной способности означает, что объект очень темный. Датчик регистрирует значение 3000 или выше.

  • 100% отражательная способность означает, что объект очень яркий. Датчик фиксирует исходное значение, равное 0.

Usage:
object_sensor.reflectivity()

Параметры

Описание

Этот метод не имеет параметров.

# Drive forward when the reflectivity is greater than 50%.
while True:
    if object_sensor.reflectivity() > 50:
        drivetrain.drive(FORWARD)
    else:
        drivetrain.stop()
    wait(5, MSEC)

is_object_detected#

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

  • True – Датчик объекта обнаруживает объект.

  • False – Датчик объекта не обнаруживает объект.

Usage:
object_sensor.is_object_detected()

Параметры

Описание

Этот метод не имеет параметров.

# Drive forward when the object sensor is detecting an object.
while True:
    if object_sensor.is_object_detected():
        drivetrain.drive(FORWARD)
    else:
        drivetrain.stop()
    wait(5, MSEC)

set_threshold#

set_threshold устанавливает количество отраженного света, необходимое в процентах, прежде чем объект будет считаться обнаруженным.

Usage:
object_sensor.set_threshold(value)

Параметры

Описание

value

Количество отраженного света, необходимое для того, чтобы считать объект обнаруженным, принимается за целое число от 0 до 100.

# Set the reflectivity threshold to 50%.
object_sensor.set_threshold(50)
# Drive forward when the object sensor is detecting an object.
while True:
    if object_sensor.is_object_detected():
        drivetrain.drive(FORWARD)
    else:
        drivetrain.stop()
    wait(5, MSEC)

объект_обнаружен#

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

Usage:
object_sensor.object_detected(callback, arg)

Параметры

Описание

callback

Ранее определенная функция, которая выполняется, когда датчик объектов обнаруживает новый объект.

arg

Необязательно. Кортеж tuple, содержащий аргументы для передачи в функцию обратного вызова. См. Функции с параметрами для получения дополнительной информации.

def my_function():
  brain.screen.print("Object detected.")

# Call my_function whenever object_sensor detects an object
object_sensor.object_detected(my_function)

объект_потерян#

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

Usage:
object_sensor.object_lost(callback, arg)

Параметры

Описание

callback

Ранее определенная функция, которая выполняется, когда датчик объектов теряет обнаруженный объект.

arg

Необязательно. Кортеж tuple, содержащий аргументы для передачи в функцию обратного вызова. См. Функции с параметрами для получения дополнительной информации.

def my_function():
  brain.screen.print("Object lost.")

# Call my_function whenever object_sensor loses an object
object_sensor.object_lost(my_function)

измененный#

changed регистрирует функцию, которая будет вызываться всякий раз, когда изменяется значение датчика объекта.

Usage:
object_sensor.changed(callback, arg)

Параметры

Описание

callback

Ранее определенная функция, которая выполняется при изменении значения датчика объекта.

arg

Необязательно. Кортеж tuple, содержащий аргументы для передачи в функцию обратного вызова. См. Функции с параметрами для получения дополнительной информации.

def my_function():
  brain.screen.print("Reflectivity changed.")

# Call my_function whenever object_sensor's value changes
object_sensor.changed(my_function)

Строители#

Конструкторы используются для ручного создания ObjectDetector , необходимых для настройки датчиков объектов.

ObjectDetector#

ObjectDetector создает датчик объектов.

Usage:
ObjectDetector(port, reverse_det)

Параметр

Описание

port

Трехпроводной порт, к которому подключен датчик объекта:

reverse_det

Необязательно. Следует ли изменить логику обнаружения:

  • True – При потере объекта вернуть сообщение о том, что объект обнаружен, а при обнаружении объекта вернуть сообщение о том, что он потерян.
  • False (по умолчанию) – При потере объекта вернуть сообщение о том, что объект потерян, а при обнаружении объекта вернуть сообщение о том, что он обнаружен.

# Create an Object Sensor in Port A
object_sensor = ObjectDetector(brain.three_wire_port.a)