Глаз#
Введение#
Робот 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)
Параметры |
Описание |
|---|---|
|
Состояние индикатора датчика движения глаз: |
# 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)
Параметры |
Описание |
|---|---|
|
Уровень яркости подсветки датчика движения глаз, от 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 градусов.
Оттенок — это способ описания цвета с помощью чисел на цветовом круге.

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)
Параметры |
Описание |
|---|---|
|
Цвета для проверки датчиком зрения:
|
# 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.")