Skip to main content

조건문을 사용한 프로그래밍 - 블록 기반

교사 도구 상자 아이콘 교사 도구 상자 - 이 활동의 목적

조건문을 사용한 프로그래밍은 프로젝트 내에서 [If then]또는[If then else] 블록을 사용하여 수행할 수 있습니다. 이 활동에서는 학생들에게 [If then] 블록을 사용하여 화면을 누르지 않는 한 로봇이 앞으로 주행하도록 하는 방법을 소개합니다. 활동의 후반부에서는 [If then] 블록 대신 [If then else] 블록을 사용하여 프로젝트를 개선하도록 요구합니다.

두 개의 VEXcode V5 블록이 나란히 있습니다. 왼쪽은 If then 블록이고 오른쪽은 If then else 블록입니다.

이 활동에서 사용되는 [If then][If then else] 블록이나 기타 블록에 대한 자세한 내용은 VEXcode V5 내의 도움말 정보를 참조하세요. 이 내장된 도움말 도구에 대한 자세한 내용을 보려면 여기를 클릭하세요..

다음은 이 활동에서 학생들이 할 일의 개요입니다.

  • If Then Else Blocks튜토리얼 영상을 시청한 다음 Clawbot(구동계 2-모터, 자이로 없음) 템플릿을 사용하여 표시된정지 버튼 만들기프로젝트를 만들고 프로젝트가 무엇을 할지 예측해 보세요.
  • [If then else] 블록의 "else" 동작을 전진으로 설정하여정지 버튼 만들기예제 프로젝트를 세부적으로 조정합니다.
  • 학습 확장:로봇의 주행을 멈추기 위해 누르는 버튼을 뇌 화면에 추가합니다.
필요한 재료:
수량 필요한 재료
1

VEX V5 교실 스타터 키트(최신 펌웨어 포함)

1

VEXcode V5(최신 버전, Windows, macOS, Chromebook)

1

엔지니어링 노트

1

Clawbot (Drivetrain 2-motor, No Gyro) 템플릿

교사 도구 상자 아이콘 교사 도구 상자

이 섹션의 교수 전략에 대한 제안을 보려면 '해야 할 일 또는 하지 말아야 할 일 진행 가이드'의 전달 컬럼을 검토하세요! (Google 문서 / .docx / .pdf)

클로봇이 결정을 내릴 준비가 되었습니다!

이 활동에서는 로봇에 조건부 동작을 프로그래밍하는 도구를 제공합니다.
[만약 ~라면][만약 ~라면 ~라면 그렇지 않다] 블록이 이 활동의 주요 초점이지만, 운영자 및 감지 블록도 사용됩니다.

4개의 VEXcode 블록이 표시됩니다. 왼쪽 상단에서 시계 방향으로: 화면을 누른 육각형 블록, 조작자 블록이 아닌 경우, C-블록, 다른 경우 C-블록.

VEXcode V5 내부의 도움말 정보를 사용하여 블록에 대해 알아볼 수 있습니다. 도움말 기능 사용에 대한 지침은 도움말 사용 튜토리얼을 참조하세요.

파일 메뉴 오른쪽에 있는 튜토리얼 아이콘이 있는 VEXcode V5 도구 모음이 빨간색 화살표로 표시됩니다.

 

교사 팁 아이콘 교사 팁

학생이 VEXcode V5를 처음 사용하는 경우 도구 모음에서 튜토리얼을 보고 다른 기본 기술을 배울 수도 있습니다.

빨간색 상자로 강조 표시된 VEXcode V5 도구 모음에 대한 튜토리얼입니다. 도구 모음에는 왼쪽부터 오른쪽으로 V5 로고, 지구본 아이콘, 파일, 튜토리얼이 표시됩니다. 튜토리얼 오른쪽에는 추가 아이콘과 기능이 있습니다.

1단계: 조건문에 대한 이해부터 시작해 보겠습니다. 

조건부 프로그래밍을 시작하기 전에 먼저 아래의 If-Then-Else 튜토리얼 비디오를 시청하십시오. 또한 VEXcode V5에서 튜토리얼 비디오로 찾을 수 있습니다.

 

2단계: 조건문으로 프로그래밍을 시작해 보겠습니다. 

Clawbot (Drivetrain 2-motor, No Gyro) 템플릿 예시 프로젝트를 엽니다.

템플릿 프로젝트 아이콘에는 위의 회색 로봇 다이어그램과 함께 하단에 Clawbot (Drivetrain 2-motor, No Gyro) 이 표시됩니다.

아래에서 프로젝트를 빌드하세요.

VEXcode V5 프로젝트는 WHEN STARTED 블록과 FOREVER 루프로 시작합니다. 루프 안에는 드라이브 포워드 블록과 if then 블록이 있습니다. IF THEN BLOCK이 읽힙니다. 화면을 누른 다음 운전을 중지하면 화면을 누르지 않을 때까지 기다립니다.

엔지니어링 노트에서 다음을 수행합니다.

  1. Clawbot이 수행하는 프로젝트에 대해 설명합니다. 정지 버튼을 만든다는 사실보다 더 많은 것을 설명해야 합니다. 어떤 블록이 Clawbot이 무엇을 하도록 하는지 설명합니다.
  2. 프로젝트가 수행하는 작업을 한 문장으로 요약하여 작성하세요.

VEXcode V5의 프로젝트 이름 대화 상자에는 중지 버튼 만들기 가 표시됩니다. 왼쪽 슬롯 1이 선택되고 오른쪽에는 도구 모음에 저장됨 이 표시됩니다.

3단계: 블록까지 대기 이해하기

Brain의 화면을 누르면 프로젝트의 흐름이 너무 빨리 이동하여 프로젝트가 [운전 중지] 블록인 다음 블록으로 이동합니다.

따라서 이 프로젝트에는 로봇이 Brain의 화면이 해제될 때까지 정지 상태를 유지하도록 지시하는 [대기] 블록이 필요합니다. 그렇지 않으면 [Forever] 블록으로 인해 프로젝트가 [Drive] 블록으로 다시 시작됩니다.

블록이 중첩될 때까지 기다립니다. 화면을 누른 블록은 NOT 오퍼레이터에 중첩되므로 전체 블록은 화면을 누르지 않을 때까지 기다립니다.

프로젝트 흐름의 속도 때문에 [Wait until] 블록이 필요합니다. 프로젝트가 없으면 로봇이 응답할 시간을 갖기 전에 다음 블록으로 이동합니다.

 

4단계: 프로젝트 변경

다음 단계는 [If then] 블록을 [If then else] 블록으로 변경하는 것입니다.

나란히 있는 벡스코드 블록 - 왼쪽에는 정지 버튼 만들기 프로젝트가 있습니다. 오른쪽에는 도구 상자에서 If else 블록이 있습니다.

  • Stop Button새 프로젝트로 저장하고,StopOrDrive새 프로젝트로 저장합니다.
  • 프로젝트를 저장하는 데 도움이 필요한 경우 VEXcode V5에서 프로젝트 이름 지정 및 저장 튜토리얼을 참조하십시오.
  • 그런 다음 아래에 표시된StopOrDrive프로젝트를 빌드합니다.

VEXcode V5 프로젝트는 영원히 블록이 첨부된 WHEN STARTED 블록으로 시작합니다. Forever 블록 안에는 if then else 블록이 있습니다. If 분기는 화면을 누르면 읽은 다음 운전을 중지하고 화면을 누르지 않을 때까지 기다립니다. ELSE 브랜치에는 드라이브 포워드 블록이 포함되어 있습니다.

교사 도구 상자 아이콘 교사 도구 상자 - 답변

로봇의 동작과 관련하여정지 버튼 만들기StopOrDrive프로젝트 사이에는 차이합니다.

두 프로젝트는 Clawbot이 동일한 방식으로 작동하도록 합니다. 유일한 차이점은StopOrDrive프로젝트에서 [If then else] 블록을 사용한다는 것입니다.

[If then else] 블록을 사용하면 향후 활동의 화면에 추가 버튼을 추가할 수 있습니다.

학습 확장 아이콘 학습을 확장하세요

STEM 랩이 진행됨에 따라 학생들은 Clawbot의 화면을 사용자 인터페이스로 기능시키는 프로젝트를 개발하게 됩니다. 그에 대비하여 학생들에게 버튼처럼 기능하는 색깔 있는 사각형을 화면에 그리는 방법을 알아내도록 과제를 주세요. 현재는 화면의 어느 곳이든 누르는 것이 조건이므로, 버튼은 화면 전체를 차지해야 합니다. 학생들은 프로젝트가 시작될 때 버튼을 그리는 이벤트를 방송해야 합니다.
학생들이 VEXcode V5의 도움말 기능을 사용하여 이벤트 및 모양 블록에 대한 정보를 얻도록 하세요. 학생들에게 먼저 [사각형 그리기] 블록의 정보에서 뇌의 화면이 좌표계로 어떻게 구성되어 있는지 배우도록 지시합니다. 해당 블록 내에서 매개변수를 설정하려면 이를 이해해야 합니다. 사용된 좌표는 열이나 행의 숫자가 아닌 픽셀의 숫자에 해당합니다. 화면의 레이아웃은 다음과 같습니다.

V5 Brain 화면의 픽셀 그리드는 왼쪽에 12개의 번호가 매겨진 행을 표시하며, 맨 위 행은 행 1, 맨 아래 행은 행 12로 표시됩니다. 맨 위에는 48개의 번호가 매겨진 열이 있는데, 맨 왼쪽에는 열 1이, 맨 오른쪽에는 열 48이 표시되어 있습니다. 총 픽셀 크기는 너비 480px, 높이 240px입니다.

학생들은 엔지니어링 노트북에 이를 기록하면서 프로젝트에 대한 이러한 변경 사항을 계획, 테스트하고 개선해야 합니다. 개별 엔지니어링 노트북 평가 기준에 대해 다음 링크 중 하나를 클릭하세요(Google 문서 / .docx / .pdf). 또는 팀 노트북에 대해 다음 링크 중 하나를 클릭하세요(Google 문서 / .docx / .pdf).

다음은 예시 솔루션입니다.

VEXcode V5 프로젝트를 Brain 화면에 그리는 중입니다. 블록이 두 개 쌓여 있습니다. 왼쪽의 스택은 When started 블록으로 시작하고 그 뒤에 broadcast Draw Button 블록이 옵니다. 다음은 로봇이 화면을 누를 때까지 앞으로 나아가도록 하는 if then else 블록이 포함된 Forever 블록입니다. 오른쪽에는 '그림 버튼을 받으면' 블록으로 시작하는 스택이 있고, 두 개의 블록이 연결되어 있는데, 각각 '뇌의 채우기 색상을 빨간색으로 설정'과 '뇌의 사각형 0, 0, 480, 240'을 그립니다.

보시다시피, 버튼은 원점(0, 0)에서 시작하여 전체 화면을 차지하도록 그려지고 480개의 수평(x축) 픽셀과 240개의 수직(y축) 픽셀을 모두 채웁니다.