Skip to main content

프로그래밍 드라이브 포워드 및 리버스 - 파이썬

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

이 탐구를 통해 학생들에게 기본적인 전진, 후진, 대기 프로그래밍 동작을 소개합니다. 이러한 기본 기술은 학생들이 다음 활동과 이 STEM 랩의 마지막에 열리는 스트라이크 챌린지에서 성공하는 데 도움이 될 것입니다. 스트라이크 챌린지에서는 스피드봇을 사용하여 볼링 경기에서 경쟁하게 됩니다.

V5 Speedbot(구동계 2모터, 자이로 없음) 템플릿 프로젝트를 사용하면 학생들은 단 하나의 명령어만으로 Speedbot이 전진하도록 프로그래밍할 수 있습니다.

스피드봇이 움직일 준비가 되었습니다! 

이 탐험을 통해 간단한 이동을 위해 스피드봇을 프로그래밍할 수 있는 도구를 얻을 수 있습니다. 이 활동이 끝나면 전진, 후진 및 대기 동작을 사용하여 농구 훈련 챌린지에 참여하게 됩니다.

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

다음은 VEXcode V5의 사용자 인터페이스 개요입니다. 학생들은 Momentum Alley STEM 랩의 활동을 통해 이러한 탭/버튼을 소개받게 됩니다. STEM 랩 전체에 걸쳐 이러한 탭/버튼에 대한 자세한 정보를 제공하는 링크도 제공됩니다.

VEXcode V5 인터페이스.
 

  • 이 탐색에 사용될 VEXcode V5 Python 지침:
    • driveetrain.drive_for (FORWARD, 200, MM)
    • wait (1, seconds)
  • 지침에 대한 자세한 내용을 보려면 도움말을 선택한 다음 명령 옆에 있는 물음표 아이콘을 선택하여 자세한 정보를 확인하세요.

    작업 공간에 명령용 드라이브가 있는 VEXcode V5가 입력되고 맨 오른쪽의 물음표 아이콘이 강조 표시되어 도움말을 엽니다. 도움말은 명령의 정의와 사용 방법에 대한 정보를 보여줍니다.

     

  • 필요한 하드웨어, 엔지니어링 노트북 및 VEXcode V5를 다운로드하여 준비하십시오.

교사 팁 아이콘 교사 팁

학생이 VEXcode V5를 처음 사용하는 경우, 탐색하는 동안 언제든지 튜토리얼을 참조할 수 있습니다.

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

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

스피드봇 로봇

1

충전된 로봇 배터리

1

VEXcode V5

1

USB 케이블 (컴퓨터를 사용하는 경우)

1

엔지니어링 노트

교사 팁 아이콘 교사 팁

학생들에게 각 문제 해결 단계를 모델로 보여줍니다.

1단계: 탐사 준비

활동을 시작하기 전에 다음 각 항목을 준비하셨나요? 다음 각 사항을 확인하세요.

2단계: 새 프로젝트 시작

프로젝트를 시작하려면 다음 단계를 완료하십시오.

교사 팁 아이콘 교사 팁

  • 프로젝트 이름에는 단어 사이 또는 뒤에 공백이 포함될 수 있습니다.

    V5 이름 바꾸기

  • 학생들에게 프로젝트 이름에 자신의 이니셜이나 그룹 이름을 추가하도록 요청할 수 있습니다. 학생들에게 프로젝트를 제출하도록 요청할 경우, 프로젝트를 구분하는 데 도움이 됩니다.

  • 이것은 학생들이 시도할 수 있는 첫 번째 프로그래밍 활동이므로, 단계를 모델링한 다음 학생들에게 동일한 작업을 완료하도록 요청해야 합니다. 그런 다음 교사는 학생들이 단계를 올바르게 따르고 있는지 모니터링해야 합니다.

  • 학생들이 파일 메뉴에서 예제 열기를 선택했는지 확인하세요.

  • 학생들이 Speedbot(구동계 2모터, 자이로 없음) 템플릿 프로젝트를 선택했는지 확인하세요.

  • 학생들에게 예시 페이지에서 선택할 수 있는 항목이 여러 개 있다는 점을 알려줄 수 있습니다. 학생들이 다른 로봇을 만들고 사용하면서 다양한 템플릿을 사용할 기회를 얻게 됩니다.

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

    도구 모음의 프로젝트 이름에는 드라이브 및 슬롯 1이 선택되어 있습니다.

     

교사 도구 상자 아이콘 교사 도구 상자 - 프로젝트 저장

  • VEXcode V5를 처음 열었을 때 창에 VEXcode 프로젝트라는 라벨이 붙어 있었다는 점을 지적하세요. VEXcode 프로젝트는 VEXcode V5를 처음 열었을 때 기본 프로젝트 이름입니다. 프로젝트 이름을 드라이브 로 변경하고 저장한 후 디스플레이가 업데이트되어 새 프로젝트 이름이 표시되었습니다. 도구 모음의 이 창을 사용하면 학생들이 올바른 프로젝트를 사용하고 있는지 쉽게 확인할 수 있습니다.

  • 학생들에게 이제 첫 번째 프로젝트를 시작할 준비가 되었다고 말하세요. 학생들에게 몇 가지 간단한 단계만 따르면 Speedbot을 발전시킬 프로젝트를 만들고 실행할 수 있다고 설명하세요.

  • 학생들에게 작업하는 동안 프로젝트를 저장하도록 상기시켜 주세요. VEX 라이브러리의 Python 섹션에서는 VEXcode V5의 저장 방법을 설명합니다.

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

이 시점에서 잠시 멈춰 학생들에게 VEXcode V5에서 개별적으로 또는 그룹으로 새 프로젝트를 시작하기 위해 방금 완료한 단계를 검토하게 하는 것이 좋습니다. 학생들에게 그룹이나 전체 학급에서 공유하기 전에 개인적으로 생각해 보라고 하세요.
 

3단계: 전진하세요

이제 앞으로 나아갈 수 있도록 로봇 프로그래밍을 시작할 준비가 되었습니다!

  • 프로그래밍을 시작하기 전에 명령이 무엇인지 이해해야 합니다. 지침에는 세 가지 부분이 있습니다. VEXcode V5 Python에서 코드 색상 지정에 대한 자세한 내용 이 문서를 참조하세요.

    주석이 있는 VEXcode의 C + + 코드 스니펫 스크린샷. Driveetrain.driveFor (FORWARD, 200, MM) 명령은 driveetrain (Device로 표시됨), drive for (Command로 표시됨) 및 FORWARD, 200, MM (Parameters로 표시됨) 주위에 빨간색 테두리로 강조 표시됩니다.

  • 프로젝트에 지침을 추가하여 프로젝트가 다음과 같이 표시되도록 합니다.

    # VEX 가져오기에서
    라이브러리 가져오기 *
    
    # 프로젝트 코드 시작
    
    driveetrain.drive_for (FORWARD, 100, MM)

교사 팁 아이콘 교사 팁

명령어를 입력하기 시작하면 자동완성 기능이 나타날 수 있습니다. "위쪽" 및 "아래쪽" 키를 사용하여 원하는 이름을 선택한 다음 키보드의 "Tab" 또는 (Enter/Return) 키를 눌러 선택합니다. 이 기능에 대한 자세한 내용은 Python 문서확인하세요. 작업 공간에 입력된 명령 오른쪽에 있는 메뉴에 옵션이 팝업으로 표시되는 Python 프로젝트의 자동완성 기능입니다.
 

  • 슬롯 아이콘을 선택하여 로봇 브레인에서 사용 가능한 8개의 슬롯 중 하나를 선택하고 슬롯 1을 선택합니다.

    VEXcode V5 툴바의 슬롯 선택이 열리고 슬롯 1이 선택되어 빨간색 상자로 강조 표시됩니다.

     

  • 마이크로 USB 케이블을 사용하여 V5 Robot Brain을 컴퓨터에 연결하고 V5 Robot Brain의 전원을 켭니다. 연결이 성공적으로 이루어지면 도구 모음의 Brain 아이콘이 녹색로 바뀝니다.

    VEXcode V5 도구 모음의 두뇌 아이콘은 연결을 표시하기 위해 녹색이며 빨간색 상자로 강조 표시됩니다. 두뇌 아이콘은 컨트롤러와 다운로드 사이의 도구 모음 오른쪽에 있습니다.

     

  • 다운로드선택하여 프로젝트를 Brain에 다운로드하세요.

    도구 모음에서 두뇌 아이콘과 실행 및 중지 버튼 사이에 빨간색 상자가 강조 표시된 아이콘을 다운로드합니다.

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

학생들에게 로봇 브레인에서 USB 케이블을 분리하라고 상기시킵니다. 프로젝트를 실행하는 동안 로봇을 컴퓨터에 연결하면 로봇이 연결 케이블을 잡아당길 수 있습니다.

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

학생들에게 이 프로젝트를 다운로드하여 Speedbot에 실행하면 어떤 일이 일어날지 예측해 보라고 합니다. 학생들에게 예측 결과를 공학 노트에 기록하라고 지시하세요. 시간이 허락한다면 각 그룹에게 예측을 공유해 달라고 요청하세요. 

  • 로봇 브레인 화면을 보고 프로젝트가다운로드되었는지 확인하세요. 프로젝트 이름 드라이브는 슬롯 1에 나열되어야 합니다.

    하단 행의 왼쪽 하단 모서리에 있는 슬롯 1의 드라이브 프로젝트를 보여주는 V5 브레인 홈 화면.

교사 도구 상자 아이콘 교사 도구 상자 - 모델 우선

  • 모든 학생이 한꺼번에 시도하기 전에, 먼저 학급 앞에서 프로젝트를 진행하는 모델을 만드세요. 학생들을 한곳에 모으고, 스피드봇이 바닥에 놓여 있다면 움직일 수 있을 만큼 충분한 공간을 남겨두세요.
  • 학생들에게 이제 그들이 프로젝트를 진행할 차례라고 말하세요. 스피드봇들이 서로 부딪히지 않고 이동할 수 있는 길이 확보되어 있는지 확인하세요.
     
  • 로봇에서 프로젝트를 실행하려면 프로젝트가 선택있는지 확인한 다음브레인에서실행버튼을 누릅니다. 첫 번째 프로젝트를 생성하신 것을 축하드립니다!

    드라이브 프로젝트가 열리고 실행 버튼이 맨 왼쪽의 빨간색 상자에 강조 표시된 V5 두뇌 화면. Run 오른쪽에는 Timed Run, Match 및 Wiring 버튼이 있습니다.

4단계: 후진 주행

로봇이 앞으로 주행하도록 프로그래밍했으므로 이제 반대로 주행하도록 프로그래밍하겠습니다.

5단계: 기다린 후 후진 주행

이제 로봇이 앞으로 주행하도록 프로그래밍한 다음 역으로 대기 지침을 추가하여 로봇이 역으로 주행하기 전에 일정 시간을 기다리도록 할 수 있습니다.

  • Drive_for 명령 앞에 대기 명령을 추가합니다. 대기가 drive_ for 명령과 일치하도록 들여쓰기되고 모든 명령이 "프로젝트 코드 시작" 코멘트 아래에 있는지 확인하십시오. 이렇게 하면 로봇이 역주행하기 전에 3초 동안 기다리라는 메시지가 표시됩니다.

    wait (3, SECONDS)
    
    drivingetrain.drive_for (REVERSE, 100, MM)
  • 프로젝트 이름을 선택하여 역방향에서 WaitReverse로 변경합니다.

    프로젝트 이름에 '도구 모음에서 역방향 대기' 가 표시되고 슬롯 2가 선택됩니다.

  • 새 슬롯을 선택하려면 슬롯 아이콘을 선택하십시오. 슬롯 3을 선택합니다.

    슬롯 3을 강조 표시하는 빨간색 상자가 있는 슬롯 선택

  • (Python) 프로젝트를 다운로드합니다.

    다운로드 아이콘 주위에 빨간색 상자가 있는 VEXcode V5 도구 모음 이미지

  • 로봇 브레인의 화면을 보고 프로젝트가 다운로드되었는지 확인하세요( Python). 프로젝트 이름 WaitReverse는 Slot 3에 나열되어야 합니다.

    V5 Brain Home 화면은 하단 행의 세 번째 아이콘인 슬롯 3에 Wait Reverse 프로젝트를 표시합니다.

  • 프로젝트가 선택되었는지 확인한 다음실행버튼을 눌러 로봇에서 프로젝트를 실행합니다(Python 에서.

    기다림 역방향 프로젝트가 열리고 실행 버튼이 맨 왼쪽의 빨간색 상자에 강조 표시된 V5 두뇌 화면. Run 오른쪽에는 Timed Run, Match 및 Wiring 버튼이 있습니다.

교사 도구 상자 아이콘 교사 도구 상자 - 5단계 완료

  • wait 명령을 사용해도 프로젝트는 종료되지 않고 로봇의 움직임만 일시 정지합니다.
  • 학생들이 컴퓨터를 사용하는 경우, 프로젝트를 실행하기 전에 Robot Brain에서 USB 케이블을 분리하도록 상기시켜 주세요.
  • 학생들에게 작업하는 동안 프로젝트를 저장하도록 상기시켜 주세요. VEX 라이브러리의 Python 섹션에서는 VEXcode V5의 저장 방법을 설명합니다.

6단계: 농구 훈련 챌린지를 완료하세요!

농구 훈련을 위한 설정은 왼쪽에 시작 선이 있는 4개의 선과 10cm, 20cm, 40cm의 선을 보여줍니다. V5 로봇은 스타트 라인에서 앞바퀴로 시작할 준비가 되어 있습니다.
농구 훈련 챌린지 레이아웃

농구 훈련 챌린지에서 로봇은 서로 다른 거리에서 일련의 선을 탐색할 수 있어야 합니다. 로봇은 시작 위치에서 10cm 떨어진 첫 번째 라인으로 이동한 다음 1초 동안 기다렸다가 같은 라인으로 되돌아갑니다. 그런 다음 로봇은 두 번째 라인까지 20cm 앞으로 이동하여 작업을 반복하고 1초간 기다린 다음 원래 시작 라인까지 뒤로 이동합니다. 로봇은 40cm의 거리로 세 번째 라인까지 앞으로 주행하고 1초간 기다린 다음 마지막으로 출발 라인으로 돌아와 챌린지를 마칩니다.

로봇을 프로그래밍하기 전에 엔지니어링 노트북에서 로봇의 경로와 동작을 계획하세요.

농구 챌린지를 완료한 후에는 전진 및 후진 동작을 추가 로봇 동작과 결합하여 더욱 고급 챌린지를 완료할 수 있습니다.
프로그래밍할 때 1cm = 10mm라는 점을 명심하세요.

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

학생들에게 전체 학급에서 논의하기 전에 짝을 지어 해결책을 공유하도록 요청하세요. 다음과 같은 질문을 통해 토론을 촉진하세요. 

  • 이 챌린지를 프로그래밍하면서 어려움을 겪었나요?
  • 프로젝트를 기반으로 로봇이 예상한 대로 동작했나요? 왜 그럴까? 아니면 왜 그렇지 않을까? 
  • 도전을 다시 할 수 있다면 다르게 했을 것이 있나요?

교사 도구 상자 아이콘 교사 도구 상자 - 솔루션

아래에서 샘플 솔루션을 확인하세요. 

# 라이브러리 가져오기
from vex import *

# 프로젝트 코드 시작

# 10cm 전진
drivetrain.drive_for(FORWARD, 100, MM)
# 1초간 대기
wait(1, SECONDS)
# 시작 라인으로 후진
drivetrain.drive_for(REVERSE, 100, MM)

# 20cm 전진
drivetrain.drive_for(FORWARD, 200, MM)
# 1초간 대기
wait(1, SECONDS)
# 시작 라인으로 후진
drivetrain.drive_for(REVERSE, 200, MM)

# 40cm 전진
drivetrain.drive_for(FORWARD, 400, MM)
# 1초간 대기
wait(1, SECONDS)
# 시작 라인으로 후진
구동계.구동_용(역방향, 400, MM)