Back to Course

Quarky 및 파이썬을 사용한 로봇 공학 및 AI - 레벨 1

0% Complete
0/0 Steps
  1. 로봇 공학의 기초
    수업 1: Quarky 로봇의 기초
    5 Topics
  2. 수업 2: 로봇 동작의 기초
    3 Topics
  3. 수업 3: 무선 제어 로봇
    4 Topics
  4. 라인 팔로워
    수업 4: 라인 감지를 위한 IR 센서 보정
    3 Topics
  5. 수업 5: 로봇을 따라가는 라인
    4 Topics
  6. 로봇 공학을 이용한 AI
    수업 6: AI 배달 봇으로서의 Quarky - 파트 1
    3 Topics
  7. 수업 7: AI 배달 봇으로서의 Quarky - 파트 2
    4 Topics
  8. 수업 8: 자율주행차 - 파트 1
    4 Topics
  9. 수업 9: 로봇 애완동물
    4 Topics
  10. 수업 10: 제스처 기반 로봇 제어 - 1부
    3 Topics
  11. 수업 11: 제스처 기반 로봇 제어 - 파트 2
    3 Topics
  12. 캡스톤 프로젝트
    수업 12: 캡스톤 프로젝트
Lesson Progress
0% Complete

코딩하자!

코드는 매우 간단합니다. 바로 시작하겠습니다. 아래 단계를 따르세요.

  1. 먼저 Quarky를 PictoBlox에 연결하는 것으로 시작하겠습니다.
    1. 먼저 USB 케이블을 사용하여 Quarky를 노트북에 연결합니다.
    2. PictoBlox를 열고 새 파일을 만듭니다. 코딩 환경을 Python Coding으로 선택합니다.
    3. Board를 Quarky로 선택합니다. 그런 다음 Quarky를 연결할 Serial port를 선택하고 Connect 를 누릅니다.
  2. 이제 프로젝트 파일 섹션에서 Tobi.py 파일을 선택하면 기본적으로 구문이 스프라이트에 개체로 작성됩니다.
    sprite = Sprite('Tobi')
  3. 우리는 이 활동에서 Quarky를 사용할 것이므로 quarky 관련 함수도 작성하고 해당 함수를 작성하기 위해 sprite에 대해 수행한 것과 동일한 방식으로 quarky에 대한 객체를 정의해야 합니다.
    quarky = Quarky()
  4. 이제 조건을 while True로 제공하여 while 루프를 작성할 것입니다. 이는 주어진 부울 조건이 False로 평가될 때까지 루프가 계속 실행되어야 함을 의미합니다. while True라고 쓰면 루프가 영원히 실행됩니다.
    while True:
    1. 프로그램에서 논리를 구현하려면 if-else 문을 사용해야 합니다.

      구문

      if 문의 구문을 살펴보겠습니다.

      조건이 True이면(즉, 충족된 경우) if (즉 STATEMENT-BLOCK) 이후에 작성된 명령문(들) 1) 실행되고, 그렇지 않으면 else 뒤에 쓰여진 문장(즉, STATEMENT-BLOCK) 2) 실행됩니다. else 절은 선택 사항입니다. 제공된 경우 두 블록 중 하나가 어떤 상황에서든 실행되며 둘 다 실행되지는 않습니다.

      if condition:
        STATEMENTs - BLOCK 1
        
      else:
        STATEMENTs - BLOCK 2

      여기에서 위, 아래, 왼쪽 또는 오른쪽 키를 눌렀는지 확인하려고 합니다.

    2. 사례 1: “up arrow”를 눌렀는지 확인해야 합니다. 조건이 True이면 Quarky는 0.5초 동안 50% 속도로 forward으로 이동합니다. 함수 iskeypressed() 지정된 키가 눌렸는지 확인합니다.
      키를 누르고 있으면 함수가 반환됩니다. “true” 이면 if 문 내의 코드 블록이 실행됩니다. 키를 누르지 않으면 함수는 “false”를 반환하고 코드 블록이 실행되지 않습니다. runtimedrobot([1],[2],[3]) 함수는 로봇을 움직이게 하는 데 사용됩니다. 여기서 [1], [2] 및 [3]은 각각 방향, 속도 및 시간입니다.

      if sprite.iskeypressed("up arrow"):
          quarky.runtimedrobot("F", 50, 0.5)
    3. 사례 2: “down arrow”를 눌렀는지 확인합니다. 조건이 True이면 Quarky는 0.5초 동안 50% 속도로 backward으로 이동합니다.
      if sprite.iskeypressed("down arrow"):
          quarky.runtimedrobot("B", 50, 0.5)
    4. 사례 3: 이제 “left arrow”를 눌렀는지 확인합니다. 조건이 True이면 Quarky는 0.5초 동안 50% 속도로 left 방향으로 이동합니다.
      if sprite.iskeypressed("left arrow"):
          quarky.runtimedrobot("L", 50, 0.5)
    5. 사례 4: “right arrow”를 눌렀는지 확인합니다. 조건이 True이면 Quarky는 0.5초 동안 50% 속도로 right 방향으로 이동합니다.
      if sprite.iskeypressed("right arrow"):
          quarky.runtimedrobot("R", 50, 0.5)
  5. 전체 코드는 다음과 같습니다.
    sprite = Sprite('Tobi')
    quarky = Quarky()
    
    while True:
      if sprite.iskeypressed("up arrow"):
        quarky.runtimedrobot("F", 50, 0.5)
        
      if sprite.iskeypressed("down arrow"):
        quarky.runtimedrobot("B", 50, 0.5)
        
      if sprite.iskeypressed("left arrow"):
        quarky.runtimedrobot("L", 50, 0.5)
        
      if sprite.iskeypressed("right arrow"):
        quarky.runtimedrobot("R", 50, 0.5)

과제 업로드

과정을 마친 후 수료증을 받으려면 과제를 제출해야 합니다.

과제를 업로드하려면 아래 단계를 따르세요.

  1. 먼저 Pictoblox 파일을 선택해야 하므로 Browse를 클릭합니다.
  2. .sb3 파일을 선택합니다.
  3. 그리고 Upload 버튼을 클릭합니다.

행운을 빕니다! ????