Глаз#
Введение#
Датчик движения глаз VEX GO способен распознавать объекты и цвета. Он также может сообщать, сколько света отражается обратно на датчик, и значение оттенка обнаруженного цвета.
Датчик движения глаз имеет подсветку, которую можно включать и выключать, чтобы лучше различать объекты и цвета. Датчик движения глаз также может использовать диапазоны NEAR или FAR для обнаружения объектов на разных расстояниях.
Датчик положения глаза может располагаться в разных местах в зависимости от сборки. Например, в сборке Code Base 2.0 - Eye Forward датчик положения глаза направлен вперед. В сборках Code Base 2.0 - Eye Down, Code Base 2.0 ‑ Eye + Electromagnet и Super Code Base 2.0 датчик положения глаза направлен вниз.
В приведенных ниже примерах настроенный датчик взгляда называется eyeЭто имя используется в примерах для вызова методов класса Eye.
Существует множество способов запрограммировать датчик движения глаз. Ниже приведён список всех методов, использующих датчик движения глаз:
Мутаторы — Настройка параметров датчика взгляда.
set_light— Включает или выключает подсветку датчика взгляда.set_range— Задает расстояние, на котором датчик взгляда может обнаружить объект.set_light_power— Устанавливает уровень мощности света датчика взгляда.
Геттеры — возвращают данные, обнаруженные датчиком взгляда.
get_color— Возвращает цвет, обнаруженный датчиком глаза.get_hue— Возвращает оттенок, обнаруженный датчиком глаза.get_brightness— Возвращает яркость, обнаруженную датчиком зрения.is_object_detected— Возвращает значение, указывающее, обнаружил ли датчик глаза объект в пределах досягаемости.is_color_detected— Возвращает значение, указывающее, обнаружил ли датчик глаза определенный цвет.
Мутаторы#
set_light#
set_light включает или выключает подсветку датчика взгляда.
Usage:
eye.set_light(state)
Параметры |
Описание |
|---|---|
|
Состояние индикатора датчика движения глаз: |
# Build Used: Super Code Base 2.0
def main():
# Turn the light on and off
while True:
eye.set_light(ON)
wait(2, SECONDS)
eye.set_light(OFF)
wait(2, SECONDS)
# Start threads — Do not delete
start_thread(main)
set_range#
set_range устанавливает максимальное расстояние до объекта, на котором он может быть обнаружен.
В начале каждого проекта датчик движения глаза по умолчанию установлен на диапазон FAR.
Usage:
eye.set_range(distance)
Параметры |
Описание |
|---|---|
|
Диапазон обнаружения объектов датчиком взгляда: |
# Build Used: Code Base 2.0 - Eye Forward
def main():
# Drive to an object with different ranges
eye.set_range(FAR)
drivetrain.drive(FORWARD)
wait(0.2, SECONDS)
while not eye.is_object_detected():
wait(0.2, SECONDS)
drivetrain.drive_for(REVERSE, 100, MM)
# Closer detection range
eye.set_range(NEAR)
drivetrain.drive(FORWARD)
wait(0.2, SECONDS)
while not eye.is_object_detected():
wait(0.2, SECONDS)
drivetrain.stop()
# Start threads — Do not delete
start_thread(main)
set_light_power#
set_light_power устанавливает яркость подсветки датчика взгляда. Подсветка помогает датчику взгляда более четко распознавать объекты и цвета.
Чем выше процентное значение, тем ярче свет. Чем ниже процентное значение, тем тусклее свет.
Если подсветка датчика движения выключена, установка уровня мощности подсветки выше 0% включит её.
Если индикатор датчика движения глаз горит, установка мощности подсветки на 0% выключит его.
Usage:
eye.set_light_power(value)
Параметры |
Описание |
|---|---|
|
Уровень яркости подсветки датчика движения глаз, от 0% до 100%. Используйте целые числа. |
# Build Used: Super Code Base 2.0
def main():
# Turn on the light at different brightnesses
eye.set_light_power(25)
wait(2, SECONDS)
eye.set_light_power(50)
wait(2, SECONDS)
eye.set_light_power(100)
# Start threads — Do not delete
start_thread(main)
Геттеры#
get_color#
get_color возвращает цвет, распознанный датчиком зрения.
Этот метод может вернуть:
RED— Оттенок в диапазоне от 340° до 20°GREEN— Оттенок от 75° до 154°BLUE— Оттенок от 160° до 254°NONE— Ни один из доступных цветов не обнаружен.
Usage:
eye.get_color()
Параметры |
Описание |
|---|---|
Этот метод не имеет параметров. |
# Build Used: Super Code Base 2.0
def main():
# Stop when red is detected
drivetrain.drive(FORWARD)
while True:
if eye.get_color() == RED:
break
wait(0.2, SECONDS)
drivetrain.stop()
# Start threads — Do not delete
start_thread(main)
get_hue#
get_hue возвращает цвет, распознанный датчиком зрения, в виде целого числа от 0 до 359,00 градусов.
Оттенок — это способ описания цвета с помощью чисел на цветовом круге.

Usage:
eye.get_hue()
Параметры |
Описание |
|---|---|
Этот метод не имеет параметров. |
# Build Used: Code Base 2.0 - Eye Forward
def main():
# Display the hue of a pink GO piece
while True:
console.clear()
if 10 < eye.get_hue() < 40:
console.print("Pink!")
wait(0.1,SECONDS)
else:
console.print("Not pink.")
wait(0.1,SECONDS)
# Start threads — Do not delete
start_thread(main)
get_brightness#
get_brightness` возвращает яркость обнаруженного света в виде целого числа от 0% до 100%.
Более высокий процент означает, что больше света отражается обратно к датчику зрения. Более низкий процент означает, что отражается меньше света.
Usage:
eye.get_brightness()
Параметры |
Описание |
|---|---|
Этот метод не имеет параметров. |
# Build Used: Super Code Base 2.0
def main():
# Monitor the brightness until red is detected
monitor_sensor("eye.get_brightness")
drivetrain.drive(FORWARD)
while not eye.get_color() == RED:
wait(0.2, SECONDS)
drivetrain.stop()
# Start threads — Do not delete
start_thread(main)
is_object_detected#
is_object_detected возвращает Boolean, который сообщает, обнаружил ли датчик глаза объект в пределах досягаемости.
True— Датчик движения глаза обнаруживает объект.False— Датчик движения глаза не обнаруживает объект.
Диапазон обнаружения можно изменить с помощью команды set_range.`.
Usage:
eye.is_object_detected()
Параметры |
Описание |
|---|---|
Этот метод не имеет параметров. |
# Build Used: Code Base 2.0 - Eye Forward
def main():
# Drive forward until an object is detected
drivetrain.drive(FORWARD)
wait(0.2, SECONDS)
while not eye.is_object_detected():
wait(0.5, SECONDS)
drivetrain.stop()
# Start threads — Do not delete
start_thread(main)
is_color_detected#
is_color_detected возвращает Boolean, который сообщает, обнаружил ли датчик глаза указанный цвет, основываясь на обнаруженном значении оттенка.
True— Датчик движения глаза определяет выбранный цвет.False— Датчик движения глаза не распознает выбранный цвет.
Датчик движения глаз работает наиболее эффективно, когда объект находится достаточно близко для обнаружения и освещение чистое.
Usage:
eye.is_color_detected(color)
Параметры |
Описание |
|---|---|
|
Цвет для проверки датчиком зрения:
|
# Build Used: Super Code Base 2.0
def main():
# Drive forward until a green object is detected
drivetrain.drive(FORWARD)
wait(0.2, SECONDS)
while not eye.is_color_detected(GREEN):
wait(0.5, SECONDS)
drivetrain.stop()
# Start threads — Do not delete
start_thread(main)