Skip to main content

두 개의 버튼 프로그래밍

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

이전 페이지에서 학생은 Brain Up 버튼을 사용하여 팔을 스핀업하도록 프로그래밍하고 있었습니다. 이 페이지는 이전 프로젝트를 기반으로 브레인 다운 버튼을 사용하여 암이 스핀다운되도록 프로그래밍합니다.

VEXcode IQ 다른 경우 도구 상자에서 차단

이 활동은 학생들에게 [If then else] 블록을 사용한 프로그래밍뿐만 아니라 감지 및 조작자 블록을 사용하여 로봇이 Brain Up 또는 Down 버튼을 눌렀는지 확인합니다. Brain Up 버튼을 누르면 Clawbot의 팔이 올라갑니다. Brain Down 버튼을 누르면 Clawbot의 팔이 내려갑니다. 이는 이전 활동을 기반으로 하며 Rethink 섹션의 사용자 인터페이스 챌린지의 토대가 됩니다. 사용자 인터페이스 챌린지의

경우, 학생들은 IQ 로봇 뇌의 버튼을 사용하여 팔을 올리고, 팔을 내리고, 발톱을 열고, 발톱을 모두 닫도록 발톱 봇을 프로그래밍해야 합니다. [If then], [If then else], <Brain 버튼 누르기 또는 [Spin]> 블록에 대한

자세한 내용은 VEXcode IQ 내의 도움말 정보를 참조하세요. 기본 제공 도움말 도구에 대한 자세한 내용을 보려면 여기를 클릭하세요.

다음은 학생들이 이 활동에서 무엇을 할 것인지에 대한 개요이다.

  • 기존 ArmUp2를 사용하여 제공된 ArmUpDown 프로젝트를 빌드하고 프로젝트가 수행할 작업을 예측합니다.
  • 프로젝트에서 블록의 흐름을 설명하는 데 도움이 되는 플로 차트를 봅니다.
  • ArmUpDown 프로젝트가 수행하는 작업에 대한 설명을 구체화합니다.
  •  If Then Else Blocks 튜토리얼 비디오를 시청하세요.
  •  [If then else] 블록을 사용하여 프로젝트를 편집합니다.
  • 중지 및 토론: 학생들은 실제 관찰과 비교하여 Clawbot이 수행할 프로젝트에 대한 예측을 반영합니다.
  • 팔을 프로그래밍할 때와 동일한 프로젝트 개요를 사용하여 발톱을 프로그래밍하십시오.
필요한 재료:
수량 필요한 재료
1

벡스 IQ 슈퍼 키트

1

VEXcode IQ

1

엔지니어링 노트

1

Clawbot (Drivetrain) 템플릿

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

이 섹션에 대한 교육 전략에 대한 제안은 할 일 또는 하지 말아야 할 일 페이싱 가이드 (Google / .docx / .pdf) 의 전달 열을 검토하십시오.

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

이 활동은 조건부 행동으로 로봇을 프로그래밍할 수 있는 도구를 제공합니다.
[If then else] 블록은 활동 내에서 주된 초점이지만 다른 감지, 제어 및 운영자 블록도 사용됩니다.

VEXcode IQ Toolbox의 샘플 블록 - 조작자가 아닌 뇌 버튼을 누르고, 그때까지 기다렸다가 다른 블록을 기다립니다.

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

파일 메뉴 오른쪽의 빨간색 상자에 튜토리얼 아이콘이 있는 VEXcode IQ 도구 모음.

1단계: 팔을 아래로 움직이는 프로그래밍.

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

안녕하세요

동일한 [If then] 블록을 사용하여 팔을 위로 돌려 팔을 아래로 돌릴 수 있습니까? 한번 해볼까요? 기존 ArmUp2 프로젝트를 편집하여 아래 프로젝트를 빌드하십시오.

추가가 포함된 Arm Up 2 프로젝트 그런 다음 첫 번째 아래에 블록이 추가되면 forever 루프 내에 추가됩니다. 두 번째 블록이 읽히는 경우 브레인 다운 버튼을 누른 다음 암 모터를 아래로 돌리고 브레인 다운 버튼을 누르지 않을 때까지 기다립니다. 그런 다음 정지 암 모터 블록이 If then 아래에 있습니다.

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

    VEXcode IQ 도구 모음의 프로젝트 이름 대화 상자. 슬롯 3이 표시되고 프로젝트 이름에는 Arm Up Down이 표시됩니다.

  • 이제 프로젝트 이름 ArmUpDown이 도구 모음 중앙의 창에 있는지 확인하십시오.
  • Clawbot이 엔지니어링 노트북에서 수행할 작업을 프로젝트에서 예측합니다. 사용자와 Clawbot의 행동을 모두 설명합니다.
  • Clawbot이 수행하는 프로젝트에 대한 예측이 올바른지 테스트합니다.
    • Clawbot의 Slot 3에 프로젝트를 다운로드한 다음 실행합니다.
    • 프로젝트 다운로드 및 실행에 대한 도움말은 VEXcode IQ의 프로젝트 다운로드 및 실행 방법을 설명하는 튜토리얼을 참조하십시오.
      튜토리얼 아이콘에는 다운로드 아이콘과 위의 화살표가 있는 프로젝트 다운로드 및 실행 이 표시됩니다.
  • 프로젝트에 대한 설명을 확인하고 필요에 따라 수정할 수 있도록 메모를 추가하십시오.

교사 팁 아이콘 교사 팁

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

파일 메뉴 오른쪽의 빨간색 상자에 튜토리얼 아이콘이 있는 VEXcode IQ 도구 모음.

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

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

교사 도구 상자 아이콘 교사 도구 상자 - 중지 및 토론

이제 학생들이 프로젝트를 테스트했으므로, 자신의 예측이 관찰과 어떻게 비교되는지 물어본다. 다음 질문을 하여 토론을 진행한다.

  • 당신의 예측이 당신의 관찰과 같았습니까?

  • 프로젝트에서 무엇이 행복해 보이나요?

  • 위쪽 및 아래쪽 버튼의 조건은 한 번만 확인됩니까?

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

2단계: 프로젝트 흐름 이해하기.

이전 단계에서 프로젝트는 팔을 올리고 내렸습니다. 그러나 Brain Up 버튼이 눌리기 시작하는 상태가 먼저이기 때문에 Brain Up 버튼을 누른 상태에서 Brain Down도 누르면 Brain Up 버튼을 놓을 때까지 해당 동작이 멈추지 않으므로 팔이 계속 회전합니다. 프로젝트 흐름을 설명하는 다음 플로 차트를 봅니다.

결정을 내리기 위해 프로젝트가 어떻게 실행되는지 보여주는 프로젝트 흐름 이미지. 브레인 업 버튼을 누르면 조건으로 레이블이 지정되고/True를 누르면 다음 조건까지 아래 블록이 순서대로 실행됩니다. 누름/거짓이 아닌 경우, 빨간색 선은 블록이 건너뛰고 프로젝트가 두 번째 조건을 확인하기 위해 이동했음을 나타냅니다. 두 번째 조건에서도 브레인 다운 버튼을 누르면 동일한 분기가 발생합니다.

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

[If then else] 블록에서 다음 튜토리얼 비디오 보기:

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

튜토리얼 아이콘에는 If else 블록이 하단에 표시되고 상단에 블록 윤곽선이 표시됩니다.

[If then] 블록을 사용하면 [Wait until] 블록에 대한 필요성도 제거됩니다. 암은 Brain Up 버튼이 해제될 때까지 계속 회전하기 때문입니다. 이는 Brain Up 버튼 조건이 false (해제) 가 될 때까지 [If then else] 의 "else" 부분에 도달하지 않기 때문에 발생합니다.

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

When started 블록에 영구 루프가 연결된 VEXcode IQ 프로젝트. Forever 루프 안에는 if then else 블록이 있습니다. If 분기에는 If Brain Up 버튼이 눌린 후, 스핀 암 모터가 위로 올라간다는 메시지가 표시됩니다. ELSE 브랜치에는 다른 블록이 있으면 다른 브레인 다운 버튼을 누른 다음 스핀 암 모터를 아래로, 그렇지 않으면 스톱 암 모터를 읽습니다.

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

Brain Up 버튼의 상태가 false이면 프로젝트는 다음 블록으로 계속 진행됩니다. 즉, Brain Down 버튼을 누르면 상태를 확인하는 것입니다. 브레인 다운 버튼을 누르는 조건이 참이면 암이 회전합니다. 다시 말하지만, [Forever] 블록으로 인해 이 조건은 false가 될 때까지 계속 검사됩니다. Brain Up 버튼의 상태가 false가

되면 프로젝트는 [Stop motor] 블록인 다음 블록으로 계속 진행됩니다. 따라서 암 모터는 두 조건이 모두 거짓일 때만 정지합니다 (두 버튼을 누르지 않음).

결정을 내리기 위해 프로젝트가 어떻게 실행되는지 보여주는 프로젝트 흐름 이미지. 먼저 If Brain up (브레인 업) 버튼을 누른 상태가 확인되면 프로젝트가 이동하여 암 모터를 위로 돌리고 처음으로 돌아갑니다. 조건이 false인 경우, Brain down button pressed의 두 번째 조건이 체크됩니다. 브레인 다운 버튼을/true로 누르면 스핀 암 모터 다운이 실행된 다음 처음으로 돌아갑니다. FALSE를 누르지 않으면 STOP ARM 모터 블록이 실행됩니다.

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

Q : Brain Up 버튼을 누르는 상태가 거짓 (해제) 인 경우 프로젝트 흐름의 진행 상황은 어떻게 됩니까?
A: 조건이 거짓인 경우, 프로젝트 흐름은 브레인 다운 버튼을 누르는 상태를 계속 확인합니다.

질문: 위의 프로젝트에서 [If then else] 블록의 목적은 무엇입니까?
A: [ If then else] 블록을 사용하면 한 번에 하나의 인스턴스만 참이 될 수 있습니다. 따라서 [If then else] 블록을 사용하면 Brain Up 버튼과 Brain Down 버튼이 동시에 true가 될 수 없습니다. Brain Down 버튼의 두 번째 조건을 누르면 Brain Up 버튼의 첫 번째 조건이 false가 아니면 옵션이 되지 않기 때문입니다. 또 다른 목적은 프로그래밍 효율성을 향상시키는 것입니다.

Q: 위쪽 및 아래쪽 버튼을 누르는 조건이 모두 거짓일 경우 프로젝트 흐름의 진행 상황은 어떻게 됩니까?
A: 두 조건이 모두 거짓인 경우, 프로젝트 흐름은 스택의 상단으로 돌아가 영원히 반복하기 전에 [스톱 모터] 블록으로 계속 진행됩니다.

3단계: [ If then else] 블록으로 프로그래밍하기.

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

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

    When started 블록에 Forever 블록이 첨부된 VEXcode IQ 프로젝트. FOREVER BLOCK 내부에는 If then else BLOCK이 있습니다. 브레인 업 버튼을 누르면 if 브랜치가 읽히고, 스핀 암 모터가 위로 올라갑니다. ELSE 브랜치에는 BRAIN DOWN 버튼을 눌렀으면 ARM 모터를 아래로 돌리고, 그렇지 않으면 ARM 모터를 멈추는 블록이 있습니다.

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

    VEXcode IQ 도구 모음의 프로젝트 이름 대화 상자. 슬롯 4가 선택되고 프로젝트 이름에 Arm Up Down 2가 표시됩니다.

  • Clawbot의 Slot 4에 프로젝트를 다운로드한 다음 실행합니다.
  • 프로젝트 다운로드 및 실행에 대한 도움말은 VEXcode IQ의 프로젝트 다운로드 및 실행 방법을 설명하는 튜토리얼을 참조하십시오.
    튜토리얼 아이콘은 다운로드 아이콘과 위의 화살표가 있는 하단의 프로젝트를 다운로드하고 실행합니다.
  • Brain Up 버튼을 눌렀을 때 암이 회전하는지 테스트하고 Brain Down 버튼을 눌렀을 때 스핀다운하는지 테스트합니다.
  • 브레인 업 (Brain Up) 및 다운 (Down) 버튼을 누르지 않으면 암 모터가 정지하는지 확인하십시오.
  • 엔지니어링 노트에 프로젝트에 if then else 블록을 추가하기 전과 후에 Clawbot이 어떻게 행동했는지에 대한 관찰 내용을 작성하십시오.

교사 도구 상자 아이콘 교사 도구 상자 - 중지 및 토론

학생들이 [If then else] 블록을 추가하기 전과 후에 프로젝트를 테스트한 후, 브레인 업 버튼이 해제될 때까지 팔이 계속 회전할 수 있는 방법에 대해 학생들과 논의합니다. 학생들에게 공학 공책에서 관찰한 내용을 공유해 달라고 한다. 다음 질문을 하여 토론을 진행한다.

  • Clawbot이 단지 [If then] 블록과 비교하여 [If then else] 블록을 사용하는 것과 다르게 동작하는 것을 볼 수 있습니까?

  • 프로그램 효율성이 중요한 이유는 무엇이라고 생각하시나요?

  • Brain Up 버튼 상태는 프로젝트에서 한 번만 확인됩니까?

학생들의 공학 공책은 개별적으로 (Google / .docx/ .pdf) 또는 팀으로 (Google / .docx / .pdf) 관리하고 채점할 수 있습니다. 이전 링크는 각 접근 방식에 대해 다른 채점표를 제공합니다. 채점표가 교육 계획에 포함될 때마다 채점표를 설명하거나 적어도 활동을 시작하기 전에 학생들에게 사본을 제공하는 것이 좋습니다.

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

학생들은 Clawbot이 [If then] 블록과 비교하여 [If then else] 블록을 사용하는 방식에 큰 차이가 없음을 알 수 있습니다 . 학생들이 물리적으로 많은 차이를 볼 수 없는 경우, 프로그래밍 효율성과 프로젝트를 단순화하는 것이 블록 사용을 줄일 수 있는 방법에 대한 토론을 촉진하십시오. 프로젝트에서 블록을 적게 사용하면 잠재적인 오류의 양을 줄일 수 있습니다.

4단계: 발톱 프로그래밍.

이전 단계에서는 [If then else] 블록을 사용하여 프로젝트를 보다 효율적으로 실행할 수 있도록 최적화했습니다. 이전 예에서는 Brain Up 및 Down 버튼을 사용하여 암을 조작했습니다. 정확히 동일한 프로젝트 개요를

사용하여 발톱을 조작할 수도 있습니다.

  • ArmUpDown2 프로젝트를 검토하고 드롭다운 메뉴를 사용하여 [Spin] 블록을 ArmMotor 대신 ClawMotor로 변경합니다. 드롭다운 메뉴를 사용하여 브레인 업 버튼이 발톱을 "열기" 로 회전하고 브레인 다운 버튼이 발톱을 "닫기" 로 회전하는지

    확인하십시오.

    스핀 모터 블록을 클로 모터로 설정한 상태에서 암 업 다운 2 프로젝트를 수행합니다. 스톱 모터 블록에는 Arm 모터가 선택된 상태에서 매개 변수 선택이 열려 있습니다.

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

    VEXcode IQ 도구 모음의 프로젝트 이름 대화 상자. 슬롯 1이 선택되고 프로젝트 이름이 클로 업 다운 (Claw Up Down) 으로 표시됩니다.

  • Clawbot의 Slot 1에 프로젝트를 다운로드한 다음 실행합니다.
  • 프로젝트 다운로드 및 실행에 대한 도움말은 VEXcode IQ의 프로젝트 다운로드 및 실행 방법을 설명하는 튜토리얼을 참조하십시오.
    튜토리얼 아이콘은 하단에서 프로젝트를 다운로드하고 실행합니다.
  • Brain Up 버튼을 누르면 발톱이 회전하고 Brain Down 버튼을 누르면 발톱이 회전하는지 테스트합니다.
  • 브레인 업 (Brain Up) 및 다운 (Down) 버튼을 누르지 않으면 클로 모터가 정지하는지 확인하십시오.
  • 엔지니어링 노트에 프로젝트에 if then else 블록을 추가하기 전과 후에 Clawbot이 어떻게 행동했는지에 대한 관찰 내용을 작성하십시오.

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

이제 학생들이 버튼을 사용하여 팔과 발톱을 조작할 수 있는 기술을 습득했으므로, 학생들에게 동일한 프로젝트에서 네 가지 작업 (팔 올리기, 팔 내리기, 발톱 열기 및 발톱 닫기) 을 모두 수행할 수 있는 방법을 브레인스토밍하도록 요청한다.
학생들은 재고 섹션에서 다른 블록을 활용하여 로봇이 네 가지 작업을 모두 수행할 수 있도록 합니다.

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

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

설정된 모터 정지 블록에 대한 도움말 정보의 시작. 블록은 Claw 모터로 설정된 매개 변수와 브레이크로 설정된 정지 상태로 표시됩니다. 텍스트 읽기 VEX IQ 스마트 모터가 움직이지 않을 때의 동작을 설정합니다.

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

  • 브레이크는 모터를 즉시 정지시킵니다.
  • 코스트는 모터를 점진적으로 회전시켜 멈춥니다.
  • 길게 누르면 모터가 즉시 정지하고 움직이면 정지 위치로 돌아갑니다.