광학 센서#
소개#
V5 광학 센서는 RGB 컬러 센서와 근접 센서를 결합하여 색상, 밝기 및 주변 물체의 존재 여부를 감지합니다. 또한 내장 LED를 사용하여 물체를 비춰 더욱 정확한 감지를 할 수 있습니다.

이 페이지에서는 광학 센서 이름의 예시로 optical_sensor 사용합니다. 필요에 따라 구성된 이름으로 교체하십시오.
다음은 사용 가능한 방법 목록입니다.
set_light– 광학 센서의 LED를 켜거나 끕니다.set_light_power– 광학 센서의 광 전력 레벨을 설정합니다.is_near_object– 광학 센서가 범위 내에 있는 물체를 감지했는지 여부를 반환합니다.color– 광학 센서에 의해 감지된 색상을 반환합니다.brightness– 물체에서 반사된 빛의 양을 반환합니다.hue– 광학 센서에 의해 감지된 색조를 반환합니다.object_detected– 광학 센서가 객체를 감지할 때 호출될 함수를 등록합니다.object_lost– 광학 센서가 객체를 잃어버렸을 때 호출될 함수를 등록합니다.
생성자 – 광학 센서를 수동으로 초기화합니다.
Optical– 광학 센서를 생성합니다.
조명을 켜다#
set_light 은 광학 센서의 LED를 켜거나 끕니다. 이는 센서가 색상을 감지할 때 정확도를 높이는 데 도움이 될 수 있습니다.
Usage:
optical_sensor.set_light(state)
매개변수 |
설명 |
|---|---|
상태 |
LED를 켜거나 끕니다. |
# Turn on the sensor's LED
optical_sensor.set_light(LEDStateType.ON)
조명 전력 설정#
set_light_power 광학 센서 LED의 밝기를 설정합니다. 빛은 광학 센서가 물체와 색상을 더욱 선명하게 감지하는 데 도움을 줄 수 있습니다.
광학 센서의 표시등이 꺼져 있는 경우, 조명 전력을 0% 이상으로 설정하면 표시등이 켜집니다.
광학 센서의 표시등이 켜져 있는 경우, 조명 전력을 0%로 설정하면 표시등이 꺼집니다.
백분율이 높을수록 빛이 더 밝아지고, 백분율이 낮을수록 빛이 더 어두워집니다.
Usage:
optical_sensor.set_light_power(percent, units)
매개변수 |
설명 |
|---|---|
퍼센트 |
LED의 밝기를 정수로 설정하세요. |
단위 |
선택 사항입니다. 밝기를 나타내는 단위: |
# Turn on the sensor's light at half brightness
optical_sensor.set_light_power(50, PERCENT)
is_near_object#
is_near_object 은 광학 센서가 범위 내에서 물체를 감지했는지 여부를 나타내는 부울 값을 반환합니다.
True– 광학 센서가 물체를 감지합니다.False– 광학 센서가 물체를 감지하지 못했습니다.
Usage:
optical_sensor.is_near_object()
매개변수 |
설명 |
|---|---|
이 메서드에는 매개변수가 없습니다. |
# Drive forward until an object is found
drivetrain.drive(FORWARD)
while not optical_sensor.is_near_object():
pass
drivetrain.stop()
색상#
color 감지된 색조 값을 기반으로 Color 클래스의 인스턴스를 반환합니다. 이를 미리 정의된 Color 객체와 비교하여 조건문을 생성할 수 있습니다.
가능한 색상은 다음과 같습니다.
Color.BLACKColor.WHITEColor.RED- 340° ~ 20° 사이의 색조 값Color.GREEN- 80°~140° 사이의 색조 값Color.BLUE- 200°~240° 사이의 색조 값Color.YELLOW- 40°~60° 사이의 색조 값Color.ORANGE- 20°~40° 사이의 색조 값Color.PURPLE- 240°~280° 사이의 색조 값Color.CYAN- 140°~200° 사이의 색조 값
참고: 광학 센서는 지정된 색상과 일치하는 색조 범위를 찾습니다. 특정 색조 범위를 감지하려면 hue를 참조하십시오.
Usage:
optical_sensor.color()
매개변수 |
설명 |
|---|---|
이 메서드에는 매개변수가 없습니다. |
# Drive forward until red is found
drivetrain.drive(FORWARD)
while not optical_sensor.color() == Color.RED:
pass
drivetrain.stop()
명도#
brightness 객체에서 반사된 빛의 양을 백분율을 나타내는 소수(float)로 반환합니다.
반사율이 높을수록 광학 센서로 반사되는 빛의 양이 많아지고, 반사율이 낮을수록 반사되는 빛의 양이 적어집니다.
Usage:
optical_sensor.brightness()
매개변수 |
설명 |
|---|---|
이 메서드에는 매개변수가 없습니다. |
색조#
hue 감지된 색상의 색조 값을 0에서 359까지의 십진수(float)로 반환합니다.
색조는 색상환을 중심으로 숫자를 사용하여 색을 설명하는 방법입니다.

Usage:
optical_sensor.hue()
매개변수 |
설명 |
|---|---|
이 메서드에는 매개변수가 없습니다. |
# Look for the color pink using hue
while True:
brain.screen.clear_screen()
brain.screen.set_cursor(1, 1)
if 300 < optical_sensor.hue() < 359:
brain.screen.print("This is pink!")
else:
brain.screen.print("No pink detected!")
객체가 감지되었습니다#
object_detected 은 광학 센서가 새로운 물체를 감지할 때마다 호출될 함수를 등록합니다.
Usage:
optical_sensor.object_detected(callback, arg)
매개변수 |
설명 |
|---|---|
|
광학 센서가 새 객체를 감지할 때 실행되는 이전에 정의된 함수입니다. |
|
선택 사항입니다. 콜백 함수에 전달할 인수를 포함하는 튜플입니다. 자세한 내용은 매개변수가 있는 함수 사용을 참조하세요. |
def my_function():
brain.screen.print("Optical Sensor detected an object")
# Call my_function whenever optical_sensor detects an object
optical_sensor.object_detected(my_function)
객체 손실#
object_lost 은 광학 센서가 감지된 물체를 놓칠 때마다 호출될 함수를 등록합니다.
Usage:
optical_sensor.object_lost(callback, arg)
매개변수 |
설명 |
|---|---|
|
광학 센서가 감지된 객체를 놓쳤을 때 실행되는 이전에 정의된 함수. |
|
선택 사항입니다. 콜백 함수에 전달할 인수를 포함하는 튜플입니다. 자세한 내용은 매개변수가 있는 함수 사용을 참조하세요. |
def my_function():
brain.screen.print("Optical Sensor lost an object")
# Call my_function whenever optical_sensor loses an object
optical_sensor.object_lost(my_function)
건설자#
생성자는 VEXcode 외부에서 광학 센서를 구성하는 데 필요한 Optical 객체를 수동으로 생성하는 데 사용됩니다.
Optical#
Optical 광학 센서를 생성합니다.
Usage:
Optical(smartport)
매개변수 |
설명 |
|---|---|
|
광학 센서가 연결된 스마트 포트는 |
# Create an Optical Sensor in Port 10
optical_sensor = Optical(Ports.PORT10)