컬러 센서는 반사광을 사용하여 물체의 색상, 색조 값, 회색조 값, 밝기 및 근접성을 감지합니다.
VEX IQ 컬러 센서는 VEX IQ 슈퍼 키트에 포함되어 있으며 여기에서도 구매할 수 있습니다.
2세대 VEX IQ 로봇을 사용하시나요? 2세대 센서 에 대한 개요을 여기 에서 확인하고, 컬러 센서의 2세대 버전인 광학 센서에 대한 정보를 확인하세요.
컬러 센서 설명
VEX IQ 컬러 센서에는 다양한 모드가 있어 주변 환경에서 다양한 유형의 정보를 캡처할 수 있습니다. 센서가 수집하는 정보는 주변 환경의 조명 조건은 물론 센서와 센서가 읽고 있는 물체 또는 표면 사이의 거리의 영향을 받습니다.
컬러 센서의 작동 방식
컬러 센서는 색상과 근접성을 모두 감지할 수 있습니다.
색상 감지
밝기 모드에 있을 때 컬러 센서는 로봇 환경의 모든 빛의 강도를 감지하는 데 사용됩니다. 활성화된 동안 컬러 센서에 도달하는 빛이 많을수록 로봇 두뇌로 전송되는 백분율 값이 높아집니다.
감지된 밝기 비율이 낮거나 신뢰할 수 없는 경우 컬러 센서의 램프를 켜거나 다음 설정 조명을 사용하여 램프의 밝기 비율을 높일 수 있습니다.
컬러 센서는 자신이 보는 색상을 색상 값이나 색조 값으로 보고할 수 있습니다.
색상 값.컬러 센서가 감지할 수 있는 색상은 14가지입니다. 블록 이미지에서 누락된 색상은 빨간색, 녹색, 파란색, 흰색, 노란색입니다.
색조 값.색조 값은 색상 값과 유사하지만 숫자입니다. 색조 값의 범위는 0~360(도)입니다. 위에 나열된 색상 값에는 고유한 색상 값 범위가 있습니다.
색상과 색조를 감지할 때는 컬러 센서가 이를 수행할 수 있는 적절한 양의 빛을 갖는 것이 중요합니다. 로봇의 컬러 센서에 대해 가장 신뢰할 수 있는 설정이 무엇인지 결정하려면 다양한 조명 수준에서 램프를 다양한 수준으로 설정하여 컬러 센서를 테스트(보정이라고도 함)해야 합니다.
근접성 감지
컬러 센서에는 적외선 센서 방출기가 포함되어 있습니다. 적외선 방출기는 눈에 보이지 않는 빛을 비추고 그 반사를 감지합니다. 대부분의 적외선이 센서를 향해 다시 반사되면 물체가 가까이 있다는 것을 로봇 두뇌에 알립니다.
컬러 센서의 일반적인 용도
컬러 센서는 디스플레이나 제품에 특정 색상을 표시하는 것이 중요한 다양한 기술 응용 분야에 사용됩니다.
일상 생활에서 흔히 사용되는 용도는 다음과 같습니다.
- 색상 보정 도구는 디지털 화면이 정확한 색상을 표시하는지 확인한 다음 필요에 따라 디스플레이 설정을 조정합니다. 그래픽 아티스트와 디지털 화면에서 색상 작업을 하는 모든 디자이너는 표시되는 정확한 색상을 정확히 볼 수 있는 것이 중요합니다. 색상이 정확하지 않으면 오해와 자원 낭비가 발생합니다.
- 카메라와 캠코더는 조명 수준을 최대화하고 흐릿한 색상을 향상시켜 사진과 비디오를 향상시키기 위해 컬러 센서를 사용하여 현재의 조명 조건에 따라 설정을 조정합니다. 또한 이러한 센서를 통해 사진가는 사진의 특정 색상에 초점을 맞출 수 있습니다.
- 컬러 센서는 제품이 고객에게 배송되기 전에 제품의 색상이 올바른지 신속하게 검사하기 위해 제조 과정에서 사용되는 경우도 있습니다. 예를 들어, 익거나 먹을 준비가 되면 색이 변하는 과일과 야채를 스캔하여 시장에 보내기에 적합한 색인지 확인할 수 있습니다.
VEX IQ 로봇의 일반적인 용도는 다음과 같습니다.
- 이 센서를 사용하여 물체의 색상을 감지할 수 있습니다. 이 애니메이션을 시청하면 컬러 센서가 녹색 큐브를 감지할 때까지 로봇이 앞으로 나아가는 모습을 볼 수 있습니다.
- 이 센서는 선을 감지하거나 따라가는 데 사용할 수 있습니다. 이 애니메이션을 시청하면 로봇이 컬러 센서를 사용하여 표시된 선을 따라 주행하는 모습을 볼 수 있습니다.
- 이 센서는 물체가 가까이 있는지 감지할 수 있습니다.
경쟁 로봇의 컬러 센서
색상과 색조를 감지할 때는 컬러 센서가 감지할 수 있는 적절한 양의 빛을 확보하는 것이 중요합니다. 다양한 빛의 수준이 컬러 센서의 성능에 영향을 미칠 수 있으므로 새로운 대회 장소에 도착할 때마다 컬러 센서를 테스트(보정이라고도 함)해야 합니다. 다양한 레벨의 램프 세트로 프로젝트를 테스트하여 로봇의 컬러 센서에 가장 안정적인 설정이 무엇인지 결정하세요.
컬러 센서가 수집한 정보는 경쟁 로봇이 다양한 조건에 반응하도록 프로그래밍하는 데 유용합니다. 컬러 센서는 다음과 같은 방법으로 경쟁 로봇을 더 좋게 만들 수 있습니다.
- 이를 통해 로봇은 센서 근처에 있는 물체의 색상을 감지할 수 있습니다. 이는 로봇이 다양한 색상의 물체를 분류하거나, 특정한 색상의 물체까지 운전하거나, 물체가 센서를 통과할 때 물체의 색상을 감지하도록 하려는 경우에 유용합니다.
- 이를 통해 로봇은 센서에 반사되는 빛의 양을 감지할 수 있습니다. 이를 통해 로봇은 표면의 선에 도달할 때까지 주행하거나 선을 따라갈 수도 있습니다.
- 물체나 표면이 근처에 있는지 로봇에게 알려줍니다. 이는 감지된 색상이 가까운 물체에서 판독한 것인지 아니면 잠재적으로 멀리 있는 표면이나 빛에 대한 비정상적인 판독인지를 결정하는 데 도움이 됩니다.
컬러 센서를 블록으로 코딩하기
<Found an object> 블록은 조건을 참 또는 거짓으로 보고하는 부울 리포터 블록입니다. <Found an object> 블록과 같은 부울 블록은 다른 블록에 대한 육각형(6면) 입력이 있는 블록 내부에 맞습니다.
<Found an object> 부울 블록은 컬러 센서가 물체를 감지하면 'true', 센서가 감지하지 않으면 'false'이면 'true'를 보고합니다. 부울 블록에 대해 자세히 알아보려면 도움말 또는 블록 모양 및 의미 기사를 참조하세요.
이 예에서는 <Found an object> 블록을 사용하여 [Wait Until] 블록과 함께 근접성을 감지하여 물체가 감지될 때까지 로봇이 전진하도록 합니다.
<Color detects> 블록은 조건을 참 또는 거짓으로 보고하는 부울 리포터 블록이기도 합니다. <Color detects> 블록은 색상 센서가 선택한 색상을 감지하면 'true', 센서가 다른 색상을 감지하면 'false'인 경우 'true'를 보고합니다. 부울 블록에 대해 자세히 알아보려면 도움말 또는 블록 모양 및 의미 기사를 참조하세요.
이 예에서는 <Color detects> 블록을 [Wait Until] 블록과 함께 사용하여 컬러 센서가 녹색 물체를 감지할 때까지 로봇이 전진하도록 합니다. 그러면 로봇은 운전을 멈춥니다. 이는 위의 첫 번째 비디오에 설명되어 있습니다.
(밝기) 블록은 컬러 센서가 감지한 빛의 양을 보고합니다. 원형 공백이 있는 다른 블록 내부에 사용되는 리포터 블록입니다.
(밝기) 블록은 0% ~ 100% 범위를 보고합니다.
이 예에서는 위의 두 번째 비디오에서 볼 수 있듯이 (밝기) 블록을 사용하여 로봇이 선을 감지하고 따라가도록 합니다.
(색조) 블록은 컬러 센서가 감지한 색상의 색조를 보고합니다. 원형 공백이 있는 다른 블록 내부에 사용되는 리포터 블록입니다.
(밝기) 블록은 0 ~ 360 범위를 보고합니다.
이 예에서 (Hue of) 블록은 로봇이 빨간색에 해당하는 색상 값의 범위를 확인하고 해당 값이 센서에 의해 감지되면 오른쪽으로 90도 회전하는 데 사용됩니다. 다른 색조 값이 감지되면 로봇은 왼쪽으로 90도 회전합니다.
(색조) 블록은 주변 조명 조건이 일치하지 않을 수 있는 경우 로봇이 특정 색상을 감지해야 할 때 유용할 수 있습니다.
Python에서 컬러 센서 코딩
참고:VEX IQ(1세대) 범퍼 스위치를 Python으로 코딩하려면 VEX IQ(2세대) Brain에 연결되어야 합니다. VEX IQ(1세대) Brain은 Python을 지원하지 않습니다.
color_3.객체 근처에 있음()
color.is_near_object 명령은 컬러 센서가 센서 전면에 가까운 물체나 표면을 감지하면 참 보고하고, 컬러 센서가 센서 전면에 가까운 물체나 표면을 하지 않으면 거짓 합니다. 감지기.
참고:명령에 나타나는 컬러 센서의 이름은 구성에 지정된 이름과 일치합니다.
drivetrain.drive(FORWARD) |
| 이 예에서는 이 아닌 조건의While 루프가 color.is_near_object 명령과 함께 사용되어 컬러 센서가 물체의 앞쪽에 가까운 물체를 감지할 때까지 로봇이 앞으로 이동하도록 합니다. 센서. |
color_3.color()
color.color 명령은 컬러 센서가 현재 감지하고 있는 색상을 보고합니다.
drivetrain.drive(FORWARD) |
| 이 예에서 not 조건을 갖는While 루프를 color.color 명령과 함께 사용하여 로봇이 컬러 센서가 녹색 물체를 감지할 때까지 전진하도록 합니다. 그러면 로봇은 운전을 멈춥니다. 이는 위의 첫 번째 비디오에 설명되어 있습니다. |
color_3.밝기()
color.brightness 명령은 컬러 센서가 감지한 빛의 양을 보고합니다. 0% - 100% 범위의 값을 보고합니다.
color_3.set_light(25, PERCENT) |
| 이 예에서는 위의 두 번째 비디오에서 볼 수 있듯이 color.brightness 명령을 사용하여 로봇이 선을 감지하고 따라가도록 합니다. |
color_3.색상()
color.hue 명령은 컬러 센서가 감지한 색상의 색조를 보고합니다. 0에서 360까지의 색상 값 범위를 보고합니다
brain.screen.print(color_3.hue()) |
|
이 예에서는 color.hue 명령을 사용하여 로봇이 빨간색에 해당하는 색상 값의 범위를 확인하고 해당 값이 센서에 의해 감지되면 오른쪽으로 90도 회전하게 합니다. 다른 색조 값이 감지되면 로봇은 왼쪽으로 90도 회전합니다. color.hue 명령은 주변 조명 조건이 일관되지 않을 때 로봇이 특정 색상을 감지해야 할 때 유용할 수 있습니다. |