Глаз#

Введение#

Робот VEX 123 оснащен встроенным датчиком движения глаз, способным распознавать объекты и цвета. Он также может сообщать, сколько света отражается обратно к датчику и значение оттенка обнаруженного цвета.

Датчик движения глаз оснащен подсветкой, которую можно включать и выключать, чтобы он лучше различал объекты и цвета.

Существует множество способов запрограммировать датчик движения глаз. Ниже приведён список всех методов, использующих датчик движения глаз:

Мутаторы — Настройка параметров датчика взгляда.

  • set_light — Включает или выключает подсветку датчика взгляда.

  • set_light_power — Устанавливает уровень мощности света датчика взгляда.

Геттеры — возвращают данные, обнаруженные датчиком взгляда.

  • get_hue — Возвращает оттенок, обнаруженный датчиком глаза.

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

  • is_object_detected — Возвращает значение, указывающее, обнаружил ли датчик глаза объект в пределах досягаемости.

  • is_color_detected — Возвращает значение, указывающее, обнаружил ли датчик глаза определенный цвет.

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

Мутаторы#

set_light#

set_light включает или выключает подсветку датчика взгляда.

Usage:
robot.eye.set_light(state)

Параметры

Описание

state

Состояние индикатора датчика движения глаз: OFF или ON.

# Continuously blink the light.
while True:
    robot.eye.set_light(ON)
    wait(2, SECONDS)
    robot.eye.set_light(OFF)
    wait(2, SECONDS)

set_light_power#

set_light_power устанавливает яркость подсветки датчика взгляда. Подсветка помогает датчику взгляда более четко распознавать объекты и цвета.

Чем выше процентное значение, тем ярче свет. Чем ниже процентное значение, тем тусклее свет.

Если подсветка датчика движения выключена, установка уровня мощности подсветки выше 0% включит её.

Если индикатор датчика движения глаз горит, установка мощности подсветки на 0% выключит его.

Usage:
robot.eye.set_light_power(value)

Параметры

Описание

value

Уровень яркости подсветки датчика движения глаз, от 0% до 100%. Используйте целые числа.

# Set the light to different power levels.
robot.eye.set_light_power(25)
wait(2, SECONDS)
robot.eye.set_light_power(50)
wait(2, SECONDS)
robot.eye.set_light_power(100)

Геттеры#

get_hue#

get_hue возвращает цвет, распознанный датчиком зрения, в виде целого числа от 0 до 359,00 градусов.

Оттенок — это способ описания цвета с помощью чисел на цветовом круге.

Круговой цветовой круг, отображающий полный спектр оттенков, обозначенных значениями градусов по периметру, увеличивающимися с шагом в 30 градусов от 0° вверху до 360°.

Usage:
robot.eye.get_hue()

Параметры

Описание

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

# Display if an object is pink.
while True:
    console.clear()
    if 290 < robot.eye.get_hue() < 350:
        console.print("Pink!")
    else:
        console.print("Not pink!")
    wait(0.1, SECONDS)

get_brightness#

get_brightness` возвращает яркость обнаруженного света в виде целого числа от 0% до 100%.

Более высокий процент означает, что больше света отражается обратно к датчику зрения. Более низкий процент означает, что отражается меньше света.

Usage:
robot.eye.get_brightness()

Параметры

Описание

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

# Display whether a detected object is bright.
robot.eye.set_light_power(100)
robot.drive(FORWARD)
while not robot.eye.is_object_detected():
    wait(0.1, SECONDS)
wait(0.1, SECONDS)
if robot.eye.get_brightness() < 70:
    console.print("Object not bright.")
else:
    console.print("Bright object!")

is_object_detected#

is_object_detected возвращает Boolean, который сообщает, обнаружил ли датчик глаза объект в пределах досягаемости.

  • True — Датчик движения глаза обнаруживает объект.

  • False — Датчик движения глаза не обнаруживает объект.

Usage:
robot.eye.is_object_detected()

Параметры

Описание

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

# Stop driving after detecting an object.
robot.eye.set_light(ON)
robot.drive(FORWARD)
wait(0.1, SECONDS)
while not robot.eye.is_object_detected():
    wait(0.1, SECONDS)
robot.stop()

is_color_detected#

is_color_detected возвращает Boolean, который сообщает, обнаружил ли датчик глаза указанный цвет, основываясь на обнаруженном значении оттенка.

  • True — Датчик движения глаза определяет выбранный цвет.

  • False — Датчик движения глаза не распознает выбранный цвет.

Датчик движения глаз работает наиболее эффективно, когда объект находится близко и освещение чистое.

Usage:
robot.eye.is_color_detected(color)

Параметры

Описание

color

Цвета для проверки датчиком зрения:

  • BLUE – Оттенок от 160° до 254°.
  • GREEN – Оттенок от 75° до 154°.
  • NONE
  • RED – Оттенок от 340° до 20°.

# Stop driving after detecting a green object.
robot.eye.set_light(ON)
robot.drive(FORWARD)
wait(0.1, SECONDS)
while not robot.eye.is_color_detected(GREEN):
    wait(0.1, SECONDS)
robot.stop()

is_bright#

is_bright возвращает Boolean, который сообщает, является ли объект, обнаруженный датчиком глаза, ярким.

Объект считается ярким, если он отражает обратно к глазному датчику более 70% своей яркости.

  • True — Обнаруженный объект отражает более 70% яркости.

  • False — Обнаруженный объект отражает 70% яркости или меньше.

Usage:
robot.eye.is_bright()

Параметры

Описание

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

# Display whether a detected object is bright.
robot.eye.set_light_power(100)
robot.drive(FORWARD)
while not robot.eye.is_object_detected():
    wait(0.1, SECONDS)
wait(0.1, SECONDS)
if robot.eye.is_bright():
    console.print("Bright object!")
else:
    console.print("Object not bright.")