설명
이 센서는 가장 가까운 고체 물체와 사이의 거리를 보고합니다(50mm - 1m 범위). 초음파가 물체에 부딪혀 반사되어 센서에 돌아오는 데 걸리는 시간을 이용하여 거리를 계산합니다.
거리 센서 작동 방식: 거리 듣기
거리 센서는 음파 탐지기와 동일한 원리를 사용하여 소리를 측정합니다. 이 센서는 한쪽 끝에 있는 송신기를 통해 미세한 초음파 펄스를 방출하고, 반대쪽 끝에 있는 수신기에 반사되어 돌아오는 소리를 감지하는 데 걸리는 시간을 측정합니다. 센서는 음파가 왕복하는 데 걸린 시간을 기준으로 거리를 계산합니다. 거리 센서는 음속을 기반으로 계산을 수행하여 가장 가까운 물체까지의 거리를 로봇 두뇌에 알려줍니다.
표면이 곡면 벽이나 공처럼 평평하지 않으면 초음파가 모든 부분에서 고르게 또는 동시에 반사되지 않습니다. 파동을 감지 가능한 양만큼 반사할 수 있을 만큼 충분히 큰 가장 가까운 표면이 물체의 감지 거리를 결정합니다.
거리 센서의 일반적인 용도:
이 센서는 앞에 물체가 있는지 감지할 수 있습니다.
이 센서는 센서와 물체 사이의 거리를 측정할 수 있습니다.
- 로봇은 이 센서를 사용하여 물체로부터 일정 거리를 이동할 수 있습니다. 로봇이 주행하면서 거리가 160mm 이하로 떨어질 때까지 거리 값이 어떻게 변하는지 보려면 아래 애니메이션을 시청하세요.
- 로봇은 이 센서를 사용하여 물체를 건드리지 않고 물체까지 운전할 수 있습니다. 두 로봇이 거리 센서를 사용하여 주행을 조정하는 모습을 보려면 이 애니메이션을 시청하세요.
- 이 센서가 제공하는 값은 로봇이 물체나 표면에 가깝거나 멀리 있는지에 따라 로봇의 속도를 조정하는 데 사용될 수 있습니다. 벽과의 거리에 따라 로봇이 어떻게 조정되는지 보려면 이 애니메이션을 시청하세요.
경쟁 로봇의 거리 센서 사용
- 로봇은 거리 센서를 사용하여 올바른 위치에 있을 때 일련의 동작을 시작할 수 있습니다. 예를 들어, 로봇은 벽에서 150mm 떨어져 있음을 감지할 때까지 전진한 다음 90도 회전하고 물체를 득점 구역으로 방출할 수 있습니다.
- 거리 센서는 범위 내에서 물체가 감지될 때 게임 조각 집기 등의 로봇 동작을 트리거하는 데 사용할 수 있습니다.
- 로봇은 거리 센서를 사용하여 물체나 표면을 건드리지 않고 특정 거리 내에 있을 때까지 물체나 표면을 향해 이동할 수 있습니다. 이는 로봇이 게임 조각을 넘어뜨리지 않도록 하는 데 사용될 수 있습니다.
- 로봇은 거리 센서를 사용하여 특정 거리에 도달할 때까지 물체나 표면에서 멀어질 수 있습니다. 이는 현장에서 다른 로봇과의 충돌을 방지하는 데 사용될 수 있습니다.
VEXcode IQ에서 거리 센서 사용
VEXcode IQ에서 거리 센서를 장치로 추가하기
VEXcode IQ에서 거리 센서를 코딩하려면 먼저 거리 센서를 구성해야 합니다. VEXcode IQ에서 센서를 구성하는 방법에 대해 자세히 알아보려면 이 기사를 확인하세요.
센서가 구성되면 프로젝트에서 사용할 수 있는 명령이 도구 상자에 나타납니다.
거리 센서를 블록으로 코딩하기
<Object found> 블록은 조건을 참 또는 거짓으로 보고하는 부울 리포터 블록입니다. <Object found> 블록과 같은 부울 블록은 다른 블록에 대한 육각형(6면) 입력이 있는 블록 내부에 맞습니다.
<Object found> 부울 블록은 센서가 물체를 감지하면 'true'를 보고하고 센서가 감지하지 않으면 'false'를 보고합니다. 부울 블록에 대해 자세히 알아보려면 도움말 또는 블록 모양 및 의미 기사를 참조하세요.
이 예에서는 거리 센서가 물체를 감지할 때까지 로봇이 전진하도록 하기 위해 <Object found> 블록을 [Wait Until] 블록과 함께 사용합니다. 센서가 물체를 감지하면 위 이미지와 같이 로봇이 주행을 멈춥니다.
(거리) 블록은 거리 센서에서 가장 가까운 물체의 거리를 보고합니다. 측정 범위는 24mm에서 1000mm, 즉 1인치에서 40인치까지입니다. (거리) 블록은 원형 공간이 있는 블록 내부에 사용되는 리포터 블록입니다.
이 예제에서는 (Distance from) 블록을 [인쇄] 블록과 함께 사용하여 거리 센서와 물체 사이의 거리를 뇌 화면에 표시합니다. (거리) 블록은 {Wait until} 블록 내부에 있는 <Less than> 블록 내부에도 표시됩니다. 이렇게 하면 거리 센서가 50mm 미만 떨어진 물체를 감지할 때까지 로봇이 주행한 다음 주행을 중지합니다. 이는 위의 첫 번째 비디오에 나와 있습니다.
Python으로 거리 센서 코딩하기
참고:VEX IQ(1세대) 거리 센서를 Python으로 코딩하려면 VEX IQ(2세대) 브레인에 연결해야 합니다. VEX IQ(1세대) 브레인은 Python을 지원하지 않습니다.
distance_7.is_object_detected()distance.is_object_Detected 명령은 객체가 감지되면 'true'를 보고하고, 객체가 감지되지 않으면 'false'를 보고합니다.
참고:명령에 나타나는 거리 센서의 이름은 구성에 지정된 이름과 일치합니다.
|
| 이 예제에서는 거리 센서가 물체를 감지할 때까지 로봇이 앞으로 이동하도록 하기 위해While 루프와 not 조건이 distance.is_object_detected 명령과 함께 사용됩니다. 센서가 물체를 감지하면 위 파이썬 코드에서처럼 로봇이 주행을 멈춥니다. |
거리_7.거리(MM)distance.distance 명령은 거리 센서에서 가장 가까운 객체의 거리를 보고합니다. 측정 범위는 24mm에서 1000mm, 즉 1인치에서 40인치까지입니다.
|
|
이 예제에서는 거리 센서가 물체를 감지할 때까지 로봇이 앞으로 이동하도록 하기 위해 While 루프와 not 조건이 distance.is_object_detected 명령과 함께 사용됩니다. 센서가 물체를 감지하면 로봇은 주행을 멈춥니다. 이 예에서는 distance.distance 명령이 brain.screen.print 명령과 함께 사용되어 거리 센서와 물체 사이의 거리를 Brain 화면에 표시합니다. distance.distance 명령은 While 루프 안에도 표시되며 not 조건이 있습니다. 이렇게 하면 로봇은 거리 센서가 50밀리미터 미만의 물체를 감지할 때까지 주행하다가 주행을 멈춥니다. 이는 위의 첫 번째 영상에서 확인할 수 있습니다. 파이썬으로 거리 센서를 코딩하는 방법에 대해 더 자세히 알아보려면 컴퓨터 과학 레벨 1 - 파이썬 과정의 5단원을 참조하세요. |