VEX IQ(1세대) 거리 센서 사용

설명

이 센서는 가장 가까운 고체 물체와 사이의 거리를 보고합니다(50mm - 1m 범위). 초음파가 물체에 부딪혀 반사되어 센서에 돌아오는 데 걸리는 시간을 이용하여 거리를 계산합니다.


거리 센서 작동 방식: 거리 듣기

거리 센서는 소나 장치와 동일한 원리를 사용하여 소리를 측정합니다. 센서 한쪽에 있는 방출기를 통해 작은 초음파 펄스를 보낸 다음, 센서 반대편에 있는 수신기에서 반사되는 소리를 듣는 데 걸리는 시간을 곱합니다. 센서는 사운드 펄스가 왕복하는 데 걸린 시간을 기준으로 거리를 계산합니다. 그런 다음 거리 센서는 소리의 속도를 기반으로 계산을 수행하여 가장 가까운 물체가 얼마나 멀리 있는지 로봇 두뇌에 알려줍니다. 

곡면벽이나 공처럼 표면이 평평하지 않으면 초음파가 모든 부분에서 균등하게 또는 동시에 반사되지 않습니다. 감지 가능한 양의 파동을 반사할 만큼 충분히 큰 가장 가까운 표면이 물체의 감지 거리를 결정합니다.


거리 센서의 일반적인 용도:

이 센서는 앞에 물체가 있는지 감지할 수 있습니다.

이 센서는 센서와 물체 사이의 거리를 측정할 수 있습니다.

  • 로봇은 이 센서를 사용하여 물체로부터 일정 거리를 이동할 수 있습니다.

  • 로봇은 이 센서를 사용하여 물체를 건드리지 않고 물체까지 운전할 수 있습니다.

  • 이 센서가 제공하는 값은 로봇이 물체나 표면에 가깝거나 멀리 있는지에 따라 로봇의 속도를 조정하는 데 사용될 수 있습니다.

경쟁 로봇의 거리 센서 사용

  • 로봇은 거리 센서를 사용하여 올바른 위치에 있을 때 일련의 동작을 시작할 수 있습니다. 예를 들어, 로봇은 벽에서 150mm 떨어져 있음을 감지할 때까지 전진한 다음 90도 회전하고 물체를 득점 구역으로 방출할 수 있습니다.  
  • 거리 센서는 범위 내에서 물체가 감지될 때 게임 조각 집기 등의 로봇 동작을 트리거하는 데 사용할 수 있습니다.
  • 로봇은 거리 센서를 사용하여 물체나 표면을 건드리지 않고 특정 거리 내에 있을 때까지 물체나 표면을 향해 이동할 수 있습니다. 이는 로봇이 게임 조각을 넘어뜨리지 않도록 하는 데 사용될 수 있습니다.
  • 로봇은 거리 센서를 사용하여 특정 거리에 도달할 때까지 물체나 표면에서 멀어질 수 있습니다. 이는 현장에서 다른 로봇과의 충돌을 방지하는 데 사용될 수 있습니다.

VEXcode IQ에서 거리 센서 사용

VEXcode IQ에서 거리 센서를 장치로 추가하기

Screen_Shot_2023-03-01_at_10.40.38_AM.png

VEXcode IQ에서 거리 센서를 코딩하려면 먼저 거리 센서를 구성해야 합니다. VEXcode IQ에서 센서를 구성하는 방법에 대해 자세히 알아보려면 이 기사를 확인하세요.

센서가 구성되면 프로젝트에서 사용할 수 있는 명령이 도구 상자에 나타납니다.

거리 센서를 블록으로 코딩하기

Screen_Shot_2023-03-01_at_10.43.09_AM.png

<Object found> 블록은 조건을 참 또는 거짓으로 보고하는 부울 리포터 블록입니다. <Object found> 블록과 같은 부울 블록은 다른 블록에 대한 육각형(6면) 입력이 있는 블록 내부에 맞습니다.

<Object found> 부울 블록은 센서가 물체를 감지하면 'true'를 보고하고 센서가 감지하지 않으면 'false'를 보고합니다. 부울 블록에 대해 자세히 알아보려면 도움말 또는 블록 모양 및 의미 기사를 참조하세요.

 

스크린샷_2023-02-28_at_1.07.13_PM.png

이 예에서는 거리 센서가 물체를 감지할 때까지 로봇이 전진하도록 하기 위해 <Object found> 블록을 [Wait Until] 블록과 함께 사용합니다. 센서가 물체를 감지하면 위 이미지와 같이 로봇이 주행을 멈춥니다. 

Screen_Shot_2023-03-01_at_11.03.40_AM.png

(거리) 블록은 거리 센서에서 가장 가까운 물체의 거리를 보고합니다. 24mm ~ 1000mm, 즉 1인치 ~ 40인치범위를 보고합니다. (Distance from) 블록은 원형 공간이 있는 블록 내부에 사용되는 리포터 블록입니다.

 

Screen_Shot_2023-03-01_at_11.13.38_AM.png

이 예제에서는 (Distance from) 블록을 [인쇄] 블록과 함께 사용하여 거리 센서와 물체 사이의 거리를 뇌 화면에 표시합니다. (거리) 블록은 {Wait until} 블록 내부에 있는 <Less than> 블록 내부에도 표시됩니다. 이렇게 하면 거리 센서가 50mm 미만 떨어진 물체를 감지할 때까지 로봇이 주행한 다음 주행을 중지합니다. 이는 위의 첫 번째 비디오에 나와 있습니다.

Python으로 거리 센서 코딩하기

참고:VEX IQ(1세대) 거리 센서를 Python으로 코딩하려면 VEX IQ(2세대) 브레인에 연결되어야 합니다. VEX IQ(1세대) Brain은 Python을 지원하지 않습니다.

Screen_Shot_2023-03-01_at_11.31.30_AM.png

명령은 범퍼 스위치에 대한 true 또는 false의 부울 값을 보고합니다. 

distance.is_object_Detected 명령은 객체가 감지되면 'true'를 보고하고, 객체가 감지되지 않으면 'false'를 보고합니다.

참고:명령에 나타나는 거리 센서의 이름은 구성에 지정된 이름과 일치합니다. 

 

Screen_Shot_2023-03-01_at_11.52.29_AM.png

이 예에서는 이 아닌 조건의While 루프가 distance.is_object_Detected 명령과 함께 사용되어 거리 센서가 물체를 감지할 때까지 로봇이 앞으로 이동하도록 합니다. 센서가 물체를 감지하면 위 이미지와 같이 로봇이 주행을 멈춥니다.

Screen_Shot_2023-03-01_at_11.56.14_AM.png

distance.distance 명령은 거리 센서에서 가장 가까운 객체의 거리를 보고합니다. 24mm ~ 1000mm, 즉 1인치 ~ 40인치범위를 보고합니다.

Screen_Shot_2023-03-01_at_12.03.41_PM.png

이 예에서는 이 아닌 조건의 While 루프가 distance.is_object_Detected 명령과 함께 사용되어 거리 센서가 물체를 감지할 때까지 로봇이 앞으로 이동하도록 합니다. 센서가 물체를 감지하면 로봇은 주행을 멈춥니다.

이 예에서 distance.distance 명령은 Brain.screen.print 명령과 함께 사용되어 거리 센서와 물체 사이의 거리를 Brain 화면에 표시합니다. distance.distance 명령은 이 아닌 조건이 있는 While 루프 내부에도 표시됩니다. 이렇게 하면 거리 센서가 50mm 미만 떨어진 물체를 감지할 때까지 로봇이 주행한 다음 주행을 중지합니다. 이는 위의 첫 번째 비디오에 나와 있습니다.

Python으로 거리 센서를 코딩하는 방법에 대해 자세히 알아보려면 컴퓨터 과학 레벨 1 - Python 과정의 단원 5를 확인하세요. 

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: