수업 3: 다중 센서 입력
이전 수업에서는 거리 센서를 사용하여 VR 로봇이 물체를 감지했는지 여부를 확인하고, 감지했다면 해당 물체를 향해 앞으로 나아갔습니다. 그러나 VR 로봇이 놀이터 가장자리에 가까워서 멈출 수 있는지 판단하는 데에는 센서 값이 사용되지 않았습니다. VR 로봇이 놀이터 가장자리에 가까워졌을 때 멈추면 옆으로 이탈하는 것을 막을 수 있습니다.

현재 이 프로젝트는 앞으로 운전하고 방향을 바꾸는 동작을 영원히 반복합니다. 하지만 놀이터 주변의 빨간색 테두리를 확인할 조건은 없습니다. 따라서 VR 로봇은 앞으로 주행할 때 놀이터에서 떨어질 수 있습니다.

VR 로봇이 놀이터 가장자리에 가까운지 여부를 판단하려면 또 다른 센서가 필요합니다. 앞으로 주행하고 방향을 바꾸는 동작은 빨간색 테두리가 감지될 때까지 반복하면 됩니다. 따라서 [Forever] 블록을 [Repeat until] 블록으로 바꾸어 붉은색 테두리를 감지하는 조건이 만족될 때까지 전진 주행과 회전 동작을 반복할 수 있다. 다운 아이 센서는 놀이터 주변의 빨간색 테두리를 감지하여 VR 로봇이 놀이터 가장자리에 가까이 있는지 확인하는 데 사용할 수 있습니다.

- 이전 수업의 Unit9Lesson2 프로젝트를 불러옵니다.

- 프로젝트 이름을 Unit9Lesson3로 바꾸세요.

- 다운 아이 센서를 지속적으로 검사하려면 블록이 필요합니다. VR 로봇은 다운 아이 센서가 빨간색을 감지할 때까지 이러한 행동을 반복해야 합니다. 먼저 [영구] 블록을 제거하세요.

- [반복] 블록을 추가합니다.

- [반복] 블록 안에 <Color sensing> 블록을 추가하고 매개변수를 'DownEye'가 '빨간색'을 감지하도록 설정합니다.

이 프로젝트에서는 [대기] 블록 대신 [반복] 블록을 사용합니다. [Wait until] 블록은 조건이 충족될 때까지 프로젝트 흐름을 일시 중지하는 대기 블록이기 때문입니다. [Wait until] 블록을 사용하면 [If then else] 블록은 [Wait until]의 조건이 충족될 때까지 실행되지 않고 [If then else] 블록은 한 번만 실행됩니다.

[Repeat until] 블록을 사용하면 [If then else] 조건이 지속적으로 확인되고 실행됩니다.

- [반복] 블록을 사용하는 목적을 기록하는 주석을 추가합니다.

- Dynamic Castle Crasher Playground 을 열고 프로젝트를 실행합니다.
-
이 프로젝트를 실행하면, VR 로봇은 감지된 물체를 향해 주행하고 그렇지 않으면 오른쪽으로 회전합니다. 하지만 다운 아이 센서가 빨간색 테두리를 찾고 있음에도 불구하고 VR 로봇은 빨간색을 감지하면 무엇을 해야 할지 알려주지 않아 계속 주행하다가 결국 놀이터에서 떨어지고 맙니다.

[반복] 블록의 조건이 충족되면 프로젝트 흐름은 [반복] 블록에서 실행됩니다.
이 강의의 나머지 부분을 계속하려면 다음 버튼을 선택하세요.