이벤트 기반 프로그래밍: 명령어 간 통신 - Python
교사 도구 상자
-
이 섹션의 목적
Rethink 섹션의 목표는 학생들이 이벤트 기반 프로그래밍을 사용하여 컨트롤러의 버튼을 사용하는 것입니다.
이 섹션에는 다음이 포함됩니다.
-
이벤트 기반 프로그래밍 개요
-
예제 프로젝트 다운로드 지침 & 개요
-
리믹스 활동:
-
물건을 잡으세요!
-
컬러드 젬
-
릴레이 경주!
-
-
리믹스 질문
교사 팁
- 수업 시간을 절약하기 위해 컨트롤러를 로봇 브레인과 페어링할 수 있습니다. 이 단계를 스스로 완료할지, 아니면 학생들이 완료하도록 할지 결정하세요. 여기 단계를 따르세요. 학생들이 컨트롤러와 뇌를 페어링하도록 하려면 이 기사를 인쇄해서 사용할 수 있습니다.
- 이벤트 기반 프로그래밍을 통해 Clawbot은 이벤트를 트리거하거나 트리거에 반응할 수 있습니다. 이러한 유형의 프로그래밍을 사용하면 하나의 명령어가 다른 명령어와 통신할 수 있습니다.
-
즉, 클로봇은 컨트롤러의 조이스틱의 움직임에 반응합니다. 조이스틱의 움직임이 트리거이고, 클로봇은 그에 따라 반응합니다.
# 라이브러리 가져오기 from vex import * # 프로젝트 코드 시작 # 각 컨트롤러 버튼 이벤트에 대한 콜백 함수 생성 def controller_L1_Pressed(): arm_motor.spin(FORWARD) while controller_1.buttonL1.pressing(): wait(5, MSEC) arm_motor.stop() # 컨트롤러 콜백 이벤트 생성 - 이벤트가 등록되도록 15밀리초 지연 controller_1.buttonL1.pressed(controller_L1_Pressed) wait(15, MSEC)위의 예에서 L1 버튼을 누르면 arm_motor 회전합니다.
자세한 지침은 Python 도움말 정보를 참조하세요.

이벤트 기반 프로그래밍
반려견이 목줄을 가져다 주거나 문 옆에 앉으면 밖으로 나가야 한다는 사실을 알려줍니다. 학교에서 선생님이 질문을 하고 선생님이 손을 드는 것을 보았을 때, 선생님은 선생님이 답을 알고 있다고 믿고 그 질문에 답하고 싶어합니다. 이러한 행동은 "트리거" 라고도 합니다.
반려견은 목줄을 가져오거나 문 옆에 앉는 것이 밖에 나가야 한다는 것을 알려주는 방아쇠라는 것을 알고 있습니다. 그래서 목줄을 매고 문 옆에 앉아 있는 그를 보면 밖으로 데리고 나가 방아쇠에 반응합니다. 손을 드는 것은 선생님에게 질문에 답하고 싶다는 것을 알리는 방아쇠입니다. 그런 다음 교사는 당신을 부름으로써 방아쇠에 반응합니다.
로봇 공학에서의 이벤트 기반 프로그래밍은 특정 로봇 행동이 로봇이 특정 작업을 수행하거나 특정 트리거에 반응하도록 트리거하는 경우입니다.
교사 도구 상자
-
지침 검토
- VEXcode V5에서 이벤트가 포함된 Clawbot Controller 예제 프로젝트를 엽니다.

- 전체 학급 활동으로 학생들과 함께 프로그래밍 지침을 검토하세요. 학생들에게 Clawbot 컨트롤러와 이벤트 프로젝트 내에서 여러 이벤트를 동시에 트리거하여 Clawbot의 주행 동작뿐만 아니라 Clawbot의 팔과 발톱의 움직임도 제어할 수 있다고 알려줍니다.
컨트롤러: Clawbot Control
이제 이벤트 예제 프로젝트를 통해 Clawbot 컨트롤러를 탐색하고 컨트롤러를 사용하여 Clawbot, Arm 및 Claw를 동시에 작동할 준비가 되었습니다!

필요한 하드웨어와 엔지니어링 노트북이 있는지 확인하십시오. VEXcode V5를 엽니다.
| 수량 | 필요한 재료 |
|---|---|
| 1 |
클로봇 |
| 1 |
충전된 로봇 배터리 |
| 1 |
VEX V5 라디오 |
| 1 |
컨트롤러 |
| 1 |
테더 케이블 |
| 1 |
VEXcode V5 |
| 1 |
USB 케이블(컴퓨터를 사용하는 경우) |
| 1 |
엔지니어링 노트 |
활동을 시작하기 전에...
다음 각 항목을 준비하셨나요? 빌더는 다음 각 사항을 확인해야 합니다.
-
모든 모터와 센서가 올바른 포트에 연결되어 있습니까?
-
스마트 케이블모든 모터에 완전히되어 있습니까?
-
컨트롤러로봇 두뇌과 페어링되어 있나요?