Lesson Progress
0% Complete
이 활동에서는 기능을 사용하여 로봇 모션 제어를 배웁니다.
코딩하자!
코드는 매우 간단합니다. 바로 시작하겠습니다. 아래 단계를 따르세요.
- 먼저 Quarky를 PictoBlox에 연결하는 것으로 시작하겠습니다.
- 먼저 USB 케이블을 사용하여 Quarky를 노트북에 연결합니다.
- PictoBlox를 열고 새 파일을 만듭니다. 코딩 환경을 Python Coding으로 선택
- Board를 Quarky로 선택합니다. 그런 다음 Quarky를 연결할 Serial port를 선택하고 Connect 를 누릅니다.
- 이제 프로젝트 파일 섹션에서 Tobi.py 파일을 선택하면 기본적으로 구문이 스프라이트에 개체로 작성됩니다.
sprite = Sprite('Tobi')
- 우리는 이 활동에서 Quarky를 사용할 것이므로 quarky 관련 함수도 작성하고 해당 함수를 작성하기 위해 sprite에 대해 수행한 것과 동일한 방식으로 quarky에 대한 객체를 정의해야 합니다.
quarky = Quarky()
- 우리는 파이썬에서 시간 모듈을 사용해야 합니다. Quarky에서 두 가지 감정을 표시하는 사이에 특정 시간 간격을 두고 싶기 때문입니다. Python 시간 모듈을 사용하면 Python에서 시간 작업을 수행할 수 있습니다 . 따라서 이 모듈을 시작하기 전에 모듈을 가져와야 합니다.
import time
- 이제 Forward Motion의 경우 기능을 forward로 정의합니다. 여기서 함수는 속도와 지속 시간이라는 2개의 매개변수를 갖습니다.
def forward(speed, duration):
- 이제 왼쪽 및 오른쪽 바퀴가 특정 속도 제한으로 회전하기를 원합니다. 여기서 속도는 하나의 매개변수입니다.
quarky.runmotor("L", "FORWARD", speed) quarky.runmotor("R", "FORWARD", speed)
- time.sleep() 함수로 약간의 시간 지연을 추가할 수 있습니다 . 두 번째 매개변수를 기간으로 정의했습니다.
time.sleep(duration)
- 두 바퀴를 멈추기 위해 다음 기능을 사용할 수 있습니다.
quarky.stopmotor("L") quarky.stopmotor("R")
- 이제 “forward” 기능에 대한 값을 정의하려고 합니다. 즉, 매개변수 속도 및 지속 시간에 대한 값을 정의합니다.
forward(80, 1)
- 전체 코드는 다음과 같습니다.
sprite = Sprite('Tobi') quarky = Quarky() import time ## Forward Motion def forward(speed, duration): quarky.runmotor("L", "FORWARD", speed) quarky.runmotor("R", "FORWARD", speed) time.sleep(duration) quarky.stopmotor("L") quarky.stopmotor("R") forward(80, 1)
- 마찬가지로 나머지 동작에 대한 코드도 작성할 수 있습니다. 전체 코드는 다음과 같습니다.
sprite = Sprite('Tobi') quarky = Quarky() import time ## Forward Motion def forward(speed, duration): quarky.runmotor("L", "FORWARD", speed) quarky.runmotor("R", "FORWARD", speed) time.sleep(duration) quarky.stopmotor("L") quarky.stopmotor("R") ## Backward Motion def backward(speed, duration): quarky.runmotor("L", "BACKWARD", speed) quarky.runmotor("R", "BACKWARD", speed) time.sleep(duration) quarky.stopmotor("L") quarky.stopmotor("R") ## Left Motion def left(speed, duration): quarky.runmotor("L", "BACKWARD", speed) quarky.runmotor("R", "FORWARD", speed) time.sleep(duration) quarky.stopmotor("L") quarky.stopmotor("R") ## Right Motion def right(speed, duration): quarky.runmotor("L", "FORWARD", speed) quarky.runmotor("R", "BACKWARD", speed) time.sleep(duration) quarky.stopmotor("L") quarky.stopmotor("R") forward(80, 1) time.sleep(1) backward(80, 1) time.sleep(1) left(80, 1) time.sleep(1) right(80, 1) time.sleep(1)
과제 업로드
과정을 마친 후 수료증을 받으려면 과제를 제출해야 합니다.
과제를 업로드하려면 아래 단계를 따르세요.
- 먼저 Pictoblox 파일을 선택해야 하므로 Browse를 클릭합니다.
- .sb3 파일을 선택합니다.
- 그리고 Upload 버튼을 클릭합니다.
행운을 빕니다! ????