눈#

소개#

VEX GO Eye 센서는 사물과 색상을 감지할 수 있습니다. 또한 센서로 반사되는 빛의 양과 감지된 색상의 색조 값을 보고할 수 있습니다.

아이 센서는 사물과 색상을 더욱 선명하게 인식할 수 있도록 켜거나 끌 수 있는 조명을 갖추고 있습니다. 또한, 아이 센서는 NEAR (원거리), FAR 원거리)의 범위 설정을 통해 다양한 거리의 사물을 감지할 수 있습니다.

아이 센서는 빌드에 따라 다른 위치에 배치될 수 있습니다. 예를 들어, 코드 베이스 2.0 - 아이 포워드 빌드에서는 아이 센서가 앞쪽을 향합니다. 코드 베이스 2.0 - 아이 다운 빌드, 코드 베이스 2.0 - 아이 + 전자석, 그리고 슈퍼 코드 베이스 2.0에서는 아이 센서가 아래쪽을 향합니다.

아래 예시에서 구성된 눈 센서는 eye이라는 이름으로 지정됩니다. 이 이름은 예시에서 Eye 클래스 메서드를 호출하는 데 사용됩니다.

눈동자 센서를 코딩하는 방법은 여러 가지가 있습니다. 아래는 모든 눈동자 센서 메서드 목록입니다.

뮤테이터 — 시선 센서 설정을 조정합니다.

  • set_light — 눈 센서의 조명을 켜거나 끕니다.

  • set_range — Eye Sensor가 물체를 감지할 수 있는 거리를 설정합니다.

  • set_light_power — 눈 센서의 광 전력 레벨을 설정합니다.

가져오기 — 눈 센서가 감지한 값을 반환합니다.

  • get_color — Eye Sensor에서 감지한 색상을 반환합니다.

  • get_hue — 눈 센서에 의해 감지된 색조를 반환합니다.

  • get_brightness — 눈 센서에서 감지된 밝기를 반환합니다.

  • is_object_detected — Eye Sensor가 범위 내에 객체를 감지했는지 여부를 반환합니다.

  • is_color_detected — 눈 센서가 특정 색상을 감지했는지 여부를 반환합니다.

돌연변이체#

set_light#

set_light 은 눈 센서의 조명을 켜거나 끕니다.

Usage:
eye.set_light(state)

매개변수

설명

state

아이 센서의 표시등 상태: ON 또는 OFF.

# 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)

매개변수

설명

distance

아이 센서의 물체 감지 범위. NEAR 은 최대 18mm 거리의 ​​물체를 감지하고, FAR 는 최대 40mm 거리의 ​​물체를 감지합니다.

# 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)

매개변수

설명

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도 사이의 정수로 반환합니다.

색조는 색상환을 중심으로 숫자를 사용하여 색을 설명하는 방법입니다.

원형 색상환은 둘레에 도수 값이 표시되어 있으며, 맨 위쪽 0°에서 360°까지 30도씩 증가하는 전체 색조 스펙트럼을 보여줍니다.

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 Eye Sensor가 범위 내에서 객체를 감지했는지 여부를 보고하는 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 감지된 색조 값을 기반으로 Eye Sensor가 지정된 색상을 감지했는지 여부를 보고하는 Boolean을 반환합니다.

  • True — 눈 센서가 선택된 색상을 감지합니다.

  • False — 눈 센서가 선택된 색상을 감지하지 못했습니다.

시선 센서는 물체가 감지될 만큼 충분히 가깝고 조명이 밝을 때 가장 잘 작동합니다.

Usage:
eye.is_color_detected(color)

매개변수

설명

color

눈 센서가 확인할 색상:

  • BLUE – 색조 값 160°~254°
  • GREEN – 색조 값 75°~154°
  • NONE
  • 빨간색RED

# 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)