Lesson 6. 페트론 V2를 원하는 높이로 상승시켜 보아요
[들어가기]
이번 강의에서는 드론을 원하는 높이까지 상승시키는 코드를 만들어보도록 해요. 페트론 V2에는 다양한 센서들이 장착되어 있는데, 이러한 센서들이 안정적으로 비행하는데 도움을 줍니다. 그리고 센서들은 코딩에도 다양하게 활용될 수 있습니다. 이번 강의에서는 센서들 중의 하나인 거리 센서(IR Range Sensor)를 이용해보려고 합니다. 거리 센서는 적외선을 이용하여 드론의 밑면으로부터 바닥까지의 거리를 측정할 수 있어서 원하는 높이까지 드론을 상승시킬 수 있습니다. 또한, 주어진 조건에 따라 서로 다른 명령을 수행할 수 있게 해주는 조건문에 대해서도 배워보고 활용해보도록 하겠습니다.
1. 페트론 V2의 센서 및 용도
2. 센서 상세정보
[코드 생각하기]
드론을 1.5m 높이까지 상승시킨 후, 그 위치에서 멈추어 5초간 호버링하고 착륙합니다.
조건문의 조건과 조건별 명령은 다음과 같습니다.
-
조건: 드론이 바닥으로부터 거리가 1.5m 이상이다.
-
명령
(1) 참: 드론의 상승을 멈추고 그 위치에서 5초간 호버링한 후 착륙한다.
(2) 거짓: 드론을 상승시킨다.
[코딩 및 실행하기]
먼저 조건문이 무엇인지 알아볼까요.
알기 쉬운 코딩
|
조건문
|
|
조건문이란 코딩의 주요 문법 중 하나로서 특정 조건을 주고 그 조건에 따라 서로 다른 명령을 수행해야할 때 사용합니다. 우리가 흔히 “만약 ~라면, ~하겠다”란 말을 자주 사용하는데, 바로 이러한 상황을 코딩으로 표현한 것이라고 보면 됩니다.
주어진 조건이 참인지 거짓인지 판단하여 참이면 명령A를 거짓이면 명령B를 수행할 수 있게 할 수 있습니다. 또한, 참과 거짓 2가지 경우로만 구분하지 않고 여러가지 경우에 따라 서로 다른 명령을 줄 수도 있습니다. |
조건문 블록은 “Logic” 카테고리에 있습니다. “Logic” 카테고리에는 조건문 블록뿐만 아니라 비교 연산자, 논리 연산자 블록들도 있는데, 이 블록들을 이용하여 조건을 만들 수 있습니다.
|
|
1. 1가지 조건의 참/거짓을 판단하여 명령을 다르게 수행할 때 사용
|
1. 1가지 조건이 참인 경우만 판단하여 명령을 수행할 때 사용
2. 조건을 더 추가해서 조건에 따라 명령을 다르게 수행할 때 사용 |
변수를 생성했으니 이제 코드를 만들어봅니다.
|
코드
|
반복문(조건) 블록 |
반복문 블록 안에 블록들을 조건이 참인 동안 계속해서 반복합니다. 기본 블록은 조건이 “true”이기 때문에 무한 반복하게 됩니다.
※ “true” 블록에 비교 연산자, 논리 연산자 블록을 조립하여 다른 조건을 줄 수 있습니다. |
비교 연산자 블록 |
조건문의 조건으로, 바닥까지 거리 값이 1.5m 이상이 되는지를 확인합니다. 무한 반복문 안에서 바닥까지 거리 값을 지속적으로 확인하여 1.5m 미만이면 드론을 상승시키고, 1.5m 이상이 되면 상승을 멈추고 무한 반복문을 빠져나갑니다.
※ 바닥까지 거리(거리 센서) 값의 단위는 m(미터)입니다. ※ 비교 연산자 블록은 “수학” 카테고리에 있습니다. |
반복 중단 블록 |
반복문 안에 사용하여 반복을 중단하고 반복문을 빠져나갈 때 사용합니다.
|
코드를 실행합니다. 드론이 정확하게 1.5m 위치에서 멈추나요? 대부분 그렇지 않을 것입니다. 왜냐하면 바이블럭에서 명령이 드론에 전달되는데 지연 시간이 발생하기 때문에 오차가 발생합니다. 드론의 상승 속도를 빠르게 하면 그 오차는 더 커질 수 있고, 속도를 느리게 하면 오차를 줄일 수 있습니다.
그리고 반복문에서 반복문 안의 블록들이 실행되고 다시 반복을 시작하려고 할 때, 기다리기 블록이 사용되지 않았다면 0.1~0.2초 정도의 기다리기 블록을 사용하여 명령이 잘 전달될 수 있도록 해주는 것이 좋습니다.
[정리하기]
드론의 센서들을 활용하여 코딩을 하니까 더 재미있고 신기하지 않나요? 거리 센서 외에 다른 센서들은 어떻게 활용할 수 있는지 생각해보고 코딩해봐요.
- 페트론 V2에는 다양한 센서들이 장착되어 있고, 이 센서들은 드론이 안정적으로 비행하는데 도움을 줍니다.
- IR Range Sensor(거리 센서)는 적외선을 이용하여 드론이 바닥으로부터 얼마나 떨어져 있는지 측정해주는 센서입니다.
- 거리 센서를 이용하여 드론을 원하는 높이까지 상승시킬 수 있습니다.
- 조건문은 조건에 따라 명령을 다르게 수행할 때 사용하고, 조건은 1개부터 여러 개까지 줄 수 있습니다.
바이블럭으로 코딩해요
- 페트론 V2와 바이블럭이 만났어요
- 페트론 V2와 인사해요
- 페트론 V2로 음악을 연주해요
- 페트론 V2로 사각형을 그려보아요
- 페트론 V2로 계단을 오르락내리락 해요
- 페트론 V2를 원하는 높이로 상승시켜 보아요
- 페트론 V2를 손바닥 위에 착륙시켜 보아요
- 페트론 V2를 버튼으로 이륙/착륙시켜 보아요
Modified : 2018.8.28