Skip to main content

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

이전 페이지에서 학생은 Brain Up 버튼을 사용하여 팔이 회전하도록 프로그래밍했습니다. 이 페이지에서는 이전 프로젝트를 기반으로 Brain Down 버튼을 사용하여 팔이 회전하도록 프로그래밍합니다.

이 활동에서는 학생들에게 [If then else] 블록을 사용한 프로그래밍을 소개하고 감지 및 연산자 블록을 사용하여 로봇이 Brain Up 또는 Down 버튼을 눌렀는지 확인하도록 합니다. Brain Up 버튼을 누르면 Clawbot의 팔이 올라갑니다. Brain Down 버튼을 누르면 Clawbot의 팔이 낮아집니다. 이는 이전 활동을 기반으로 하며 다시 생각하기 섹션의 사용자 인터페이스 과제에 대한 기반도 마련합니다.

사용자 인터페이스 챌린지에서 학생들은 IQ Robot Brain의 버튼을 사용하여 팔을 올리고, 팔을 내리고, 발톱을 열고 닫도록 Clawbot을 프로그래밍해야 합니다.

[If then], [If then else], <Brain 버튼 누름>또는 [Spin] 블록에 대한 자세한 내용을 보려면 VEXcode IQ 내의 도움말 정보를 방문하세요. 내장된 도움말 도구에 대한 자세한 내용을 보려면 여기 클릭하세요.

다음은 학생들이 이 활동에서 수행할 작업에 대한 개요입니다.

  • 기존 ArmUp2를 이용하여 제공된 ArmUpDown 프로젝트를 빌드하고 해당 프로젝트가 어떤 역할을 할지 예측해 보세요.

  • 프로젝트의 블록 흐름을 설명하는 데 도움이 되는 순서도를 봅니다.

  •  ArmUpDown 프로젝트의 기능에 대한 설명을 수정하세요.

  •  If Then Else가 차단하는 튜토리얼 비디오를 시청하세요.

  •  [If then else] 블록을 사용하여 프로젝트를 편집합니다.

  • 중지 및 토론: 학생들은 실제 관찰과 비교하여 Clawbot이 프로젝트에서 수행할 작업에 대한 예측을 반영합니다.

  • 팔 프로그래밍과 동일한 프로젝트 개요를 사용하여 클로를 프로그래밍합니다.

필요한 재료:
수량 필요한 재료
1

VEX IQ 슈퍼 키트

1

VEX코드 IQ

1

엔지니어링 노트북

1

Clawbot(드라이브트레인) 템플릿

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

이 섹션의 교육 전략에 대한 제안 사항은 해야 할 일 또는 하지 말아야 할 일 간격 가이드(Google / .docx / .pdf)의 전달 열을 검토하세요.

Clawbot 팔이 위아래로 움직일 준비가 되었습니다!

이 활동에서는 조건부 동작으로 로봇을 프로그래밍하는 도구를 제공합니다.
[If then else] 블록은 활동 내의 주요 초점이지만 다른 감지, 제어 및 연산자 블록도 사용됩니다.

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

교사 팁 아이콘 교사 팁

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

1단계: 팔을 아래로 움직이도록 프로그래밍합니다.

이전 페이지에서는 Brain Up 버튼을 누르면 Clawbot의 팔이 회전하도록 프로그래밍했습니다. 하지만 팔을 낮추는 것도 어떨까요? 먼저 이전 ArmUp2 프로젝트를 다시 살펴보겠습니다.

팔을 위로 회전시키기 위해 동일한 [만약 그렇다면] 블록을 사용하여 팔을 아래로 회전시키는 것이 가능합니까? 해 보자! 기존 ArmUp2 프로젝트를 편집하여 아래 프로젝트를 빌드하세요.

  • 프로젝트를 ArmUpDown으로 저장합니다. 학생들이 프로젝트를 저장하는 데 도움이 필요한 경우 이름 지정 및 저장 튜토리얼을 참조하세요.

  • 이제 프로젝트 이름 ArmUpDown 이 도구 모음 중앙에 있는 창에 있는지 확인하세요.

  • 엔지니어링 노트북에서 Clawbot이 프로젝트에서 수행할 작업을 예측하세요. 사용자와 Clawbot의 행동을 모두 설명합니다.

  • Clawbot이 수행하는 프로젝트에 대한 예측이 올바른지 테스트하십시오.

    • Clawbot의 Slot 3 에 프로젝트를 다운로드한 후 실행합니다.

    • 프로젝트 다운로드 및 실행에 대한 도움말은 프로젝트 다운로드 및 실행 방법을 설명하는 VEXcode IQ의 튜토리얼을 참조하세요.
      프로젝트 튜토리얼 다운로드 및 실행

  • 프로젝트에 대한 설명을 확인하고 필요에 따라 메모를 추가하여 수정하세요.

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

위에서 학생들이 구축한 프로젝트가 작동할 것입니다. Brain Up 버튼을 누르면 팔이 회전하고 Brain Down 버튼을 누르면 팔이 회전합니다. 프로젝트가 있는 그대로 작동하더라도 최적으로 작성되지는 않습니다. 두 조건이 동시에 충족되는 경우가 있을 수 있습니다. 또한 Brain Up 버튼을 누르기 시작하는 조건이 먼저이므로 Brain Up 버튼을 누른 상태에서 Brain Down도 누르면 팔이 계속 회전합니다. Brain Up 버튼을 놓을 때까지 해당 작업은 중지되지 않습니다. 따라서 프로젝트는 이러한 잠재적인 문제를 방지하기 위해 [If then else] 블록을 포함하도록 다음 단계에서 다시 작성됩니다.

교사 도구 상자 아이콘 교사 도구 상자 - 멈추고 토론하세요

이제 학생들이 프로젝트를 테스트했으므로 관찰과 비교하여 예측이 어떤지 물어보십시오. 다음 질문을 통해 토론을 촉진하세요.

  • 당신의 예측이 관찰한 것과 같았나요?

  • 프로젝트에서 무슨 일이 일어나고 있는 것 같나요?

  • Up, Down 버튼이 눌려지는 상태는 한 번만 확인되나요?

  • 프로젝트를 보다 효율적으로 운영하기 위해 재구성할 수 있다고 생각하십니까?

2단계: 프로젝트 흐름을 이해합니다.

이전 단계에서 프로젝트는 팔을 올리고 내렸습니다. 그러나 Brain Up 버튼을 누르기 시작하는 조건이 먼저이므로 Brain Up 버튼을 누른 상태에서 Brain Down도 누르면 Brain Up 버튼을 누를 때까지 해당 동작이 멈추지 않으므로 팔이 계속 회전합니다. 공개되었다. 프로젝트 흐름을 설명하는 다음 순서도를 확인하세요.

따라서 프로젝트는 [If then] 블록을 [If then else] 블록으로 대체하여 언제든지 하나의 인스턴스만 true가 되도록 할 수 있습니다.

[If then else] 블록에 대한 다음 튜토리얼 비디오를 보십시오:

VEXcode IQ에서 If-Then-Else 튜토리얼 비디오를 시청하여 시작하세요.

If-Then-Else 튜토리얼

[If then else] 블록을 사용하면 Brain Up 버튼을 놓을 때까지 팔이 계속 회전하므로 [Wait Until] 블록이 필요하지 않습니다. 이는 Brain Up 버튼 조건이 false(해제)가 될 때까지 [If then else] 의 "else" 부분이 결코 도달하지 않기 때문에 발생합니다.

[Forever] 블록을 사용하면 첫 번째 조건을 지속적으로 확인할 수 있습니다.

[If then else] 블록을 추가하여 프로젝트 변경을 살펴보겠습니다. 이제 Brain Up 버튼을 더 이상 누르지(해제) 않을 때까지 팔 모터가 계속 회전합니다. [Forever] 블록으로 인해 이 조건은 false가 될 때까지 계속 확인됩니다.

Brain Up 버튼의 조건이 false이면 프로젝트는 Brain Down 버튼을 눌렀을 때의 조건을 확인하는 다음 블록으로 계속 진행됩니다. Brain Down 버튼을 누르고 있는 조건이 true이면 팔이 회전합니다. 이번에도 [Forever] 블록으로 인해 이 조건은 false가 될 때까지 계속 확인됩니다.

Brain Up 버튼의 조건이 false이면 프로젝트는 다음 블록인 [Stop motor] 블록으로 계속 진행됩니다. 따라서 Arm 모터는 두 조건이 모두 거짓인 경우(아무 버튼도 누르지 않은 경우)에만 중지됩니다.

토론 동기 부여 아이콘 토론에 동기를 부여

Q: Brain Up 버튼을 누른 상태가 FALSE(해제)인 경우 프로젝트 흐름은 어떻게 진행되나요?
A: 조건이 거짓인 경우 프로젝트 흐름은 Brain Down 버튼이 눌려진 상태를 계속 확인합니다.

Q: 위 프로젝트의 [If then else] 블록의 목적은 무엇인가요?
A: [If then else] 블록을 사용하면 한 번에 하나의 인스턴스만 true가 됩니다. 따라서 Brain Up 버튼과 Brain Down 버튼은 [If then else] 블록을 사용하여 동시에 true일 수 없습니다. 왜냐하면 눌려진 Brain Down 버튼의 두 번째 조건은 첫 번째 조건이 아니면 옵션이 아니기 때문입니다. Brain Up 버튼을 누르고 있는 것이 거짓이었습니다. 또 다른 목적은 프로그래밍 효율성을 향상시키는 것입니다.

Q: Up 버튼과 Down 버튼을 누르고 있는 조건이 모두 거짓인 경우 프로젝트 흐름은 어떻게 되나요?
A: 두 조건이 모두 거짓인 경우 프로젝트 흐름은 영원히 반복되는 스택의 맨 위로 돌아가기 전에 [Stop motor] 블록까지 계속됩니다.

3단계: [If then else] 블록을 사용하여 프로그래밍합니다.

[If then else] 블록을 사용해 보겠습니다.

  • 프로젝트가 다음과 같이 보이도록 ArmUpDown 프로젝트에 [If then else] 블록을 추가합니다.

  • 프로젝트를 ArmUpDown2로 저장합니다. 학생들이 프로젝트를 저장하는 데 도움이 필요한 경우 이름 지정 및 저장 튜토리얼을 참조하세요.

  • Clawbot의 슬롯 4 에 프로젝트를 다운로드한 후 실행합니다.

  • 프로젝트 다운로드 및 실행에 대한 도움말은 프로젝트 및 실행 방법을 설명하는 VEXcode IQ의 튜토리얼을 참조하세요.
    프로젝트 튜토리얼 다운로드 및 실행

  • 이제 브레인 업 버튼을 누르면 팔이 회전하고 브레인 다운 버튼을 누르면 팔이 회전하는지 테스트해 보세요.

  • Brain Up 및 Down 버튼을 누르지(해제) 않으면 팔 모터가 멈추는지 확인하세요.

  • if then else 블록을 프로젝트에 추가하기 전후에 Clawbot이 어떻게 동작했는지에 대한 관찰 내용을 엔지니어링 노트북에 기록하세요.

교사 도구 상자 아이콘 교사 도구 상자 - 멈추고 토론하세요

학생들이 [If then else] 블록을 추가하기 전과 후에 프로젝트를 테스트한 후 Brain Up 버튼을 놓을 때까지 팔이 어떻게 계속 회전할 수 있는지 학생들과 토론합니다. 학생들에게 엔지니어링 노트에서 관찰한 내용을 공유하도록 요청하세요. 다음 질문을 통해 토론을 촉진하세요.

  • Clawbot이 [If then else] 블록을 사용하는 것과 [If then] 블록을 사용하는 경우에 다르게 동작하는 것을 보시나요?

  • 프로그램 효율성이 왜 중요하다고 생각하시나요?

  • Brain Up 버튼 조건은 프로젝트에서 한 번만 체크되나요?

학생들의 엔지니어링 노트북은 개별적으로(Google ) 또는 팀 단위로(Google ) 유지 관리되고 채점될 수 있습니다. 이전 링크는 각 접근 방식에 대해 서로 다른 기준표를 제공합니다. 교육 계획에 루브릭이 포함될 때마다 활동이 시작되기 전에 루브릭을 설명하거나 적어도 학생들에게 사본을 제공하는 것이 좋습니다.

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

학생들은 [If then else] 블록을 사용하는 것과 [If then] 블록을 사용하는 것 사이에서 Clawbot의 동작 방식에 큰 차이를 느끼지 못할 수도 있습니다. 학생들이 물리적으로 큰 차이를 볼 수 없는 경우 프로그래밍 효율성과 프로젝트를 단순화하면 블록 사용을 줄일 수 있는 방법에 대해 토론을 진행합니다. 프로젝트에서 더 적은 수의 블록을 사용하면 잠재적인 오류의 양을 줄일 수 있습니다.

4단계: 클로 프로그래밍.

이전 단계에서는 [If then else] 블록을 사용하여 보다 효율적으로 프로젝트가 실행되도록 최적화했습니다. 이전 예에서는 Brain Up 및 Down 버튼을 사용하여 팔을 조작했습니다.

정확히 동일한 프로젝트 개요를 사용하여 Claw를 조작할 수도 있습니다.

  • ArmUpDown2 프로젝트를 검토하고 드롭다운 메뉴를 사용하여 [Spin] 블록을 ArmMotor 대신 ClawMotor로 변경합니다.

    드롭다운 메뉴를 사용하여 Brain Up 버튼이 클로를 "열림"으로 회전시키고 Brain Down 버튼이 클로를 "닫기"로 회전하는지 확인하십시오.

  • 프로젝트를 ClawUpDown으로 저장합니다. 학생들이 프로젝트를 저장하는 데 도움이 필요한 경우 이름 지정 및 저장 튜토리얼을 참조하세요.

  • Clawbot의 Slot 1 에 프로젝트를 다운로드한 후 실행합니다.

  • 프로젝트 다운로드 및 실행에 대한 도움말은 프로젝트 및 실행 방법을 설명하는 VEXcode IQ의 튜토리얼을 참조하세요.
    프로젝트 튜토리얼 다운로드 및 실행

  • 브레인 업 버튼을 누르면 클로가 회전하여 열리고 브레인 다운 버튼을 누르면 클로가 닫히는지 테스트해 보세요.

  • 브레인 업 및 다운 버튼을 누르지(해제) 않으면 클로 모터가 정지하는지 확인하십시오.

  • if then else 블록을 프로젝트에 추가하기 전후에 Clawbot이 어떻게 동작했는지에 대한 관찰 내용을 엔지니어링 노트북에 기록하세요.

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

이제 학생들은 버튼을 사용하여 팔과 집게발을 조작하는 기술을 익혔으므로 학생들에게 동일한 프로젝트에서 네 가지 작업(팔 올리기, 팔 내리기, 집게발 열기, 집게발 닫기)을 모두 수행할 수 있는 방법을 브레인스토밍하도록 요청하세요.
학생들은 로봇이 네 가지 작업을 모두 수행할 수 있도록 다시 생각하기 섹션에서 또 다른 [if then else] 블록을 활용하게 됩니다.

학습 확장 아이콘 학습 확장 - 모터 정지 블록 설정

학생들이 팔을 올리고 내리도록 로봇을 프로그래밍하는 경우 Claw의 무게로 인해 팔이 아래로 떠내려갈 수 있습니다.
이 경우 중력과 클로의 무게로 인해 팔이 떨어지지 않도록 [모터 정지 설정] 블록을 사용할 수 있습니다. 이 블록은 프로젝트 초기에 사용할 수 있으며 프로젝트의 나머지 부분에서 향후 모든 모터 블록에 적용됩니다.

설정된 모터 정지 블록에는 세 가지 설정이 있습니다.

  • 브레이크 모터를 즉시 정지시킵니다.

  • Coast 모터가 점진적으로 회전하여 정지하도록 합니다.

  • Hold 누르면 모터가 즉시 정지하고 이동하면 정지 위치로 돌아갑니다.