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

calibration

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

  1. 먼저 Quarky를 PictoBlox에 연결하는 것으로 시작하겠습니다.
    1. 먼저 USB 케이블을 사용하여 Quarky를 노트북에 연결합니다.
    2. PictoBlox를 열고 새 파일을 만듭니다. 코딩 환경을 Python Coding으로 선택
  2. Board를 Quarky로 선택합니다. 그런 다음 Quarky를 연결할 Serial port를 선택하고 Connect 를 누릅니다.
  3. 우리는 이 활동에서 Quarky를 사용할 것이므로 quarky 관련 함수도 작성하고 해당 함수를 작성하기 위해 sprite에 대해 수행한 것과 동일한 방식으로 quarky에 대한 객체를 정의해야 합니다.
    quarky = Quarky()
  4. 우리는 파이썬에서 시간 모듈을 사용해야 합니다. Quarky에서 두 가지 감정을 표시하는 사이에 특정 시간 간격을 두고 싶기 때문입니다. Python 시간 모듈을 사용하면 Python에서 시간 작업을 수행할 수 있습니다 . 따라서 이 모듈을 시작하기 전에 모듈을 가져와야 합니다.
    import time
  5. 이제 왼쪽 및 오른쪽 IR 센서의 임계값을 설정하려고 합니다. 이전 활동에서 임계값을 찾는 방법을 이미 배웠습니다. 임계값을 설정하는 구문은 다음과 같습니다.
    quarky.setirthreshold([1],[2]) ##"[1]:String-IR=""IRL""[2]:Number-THRESHOLD=3000"
    
    quarky.setirthreshold("IRL", 3500)
    quarky.setirthreshold("IRR", 3500)
  6. 이제 조건을 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

      여기서 우리의 논리는 먼저 left IR 센서가 활성인지 비활성인지 확인한 다음 그에 따라 정의된 LED를 켜는 것입니다. led 설정 구문을 살펴보겠습니다.

      quarky.setled([1],[2],[3],[4]) ## "[1]:Number-XPOS = 1 [2]:Number-YPOS=1 [3]:Num_Array-COLOR=[R,G,B] Number: (R,G,B) [4]:Number-BRIGHTNESS=50"
    2. 이제 코드는 다음과 같습니다.
      if quarky.getirstate("IRL"):
          quarky.setled(1, 1, (0, 255, 0), 50)
        else:
          quarky.setled(1, 1, (255, 0, 0), 50)
    3. 이제 0.1초의 시간 지연을 추가하기 위해 time.sleep() 함수를 사용합니다 .
      time.sleep(0.1)
    4. 마찬가지로 right IR 센서가 활성인지 비활성인지 확인할 수 있습니다.
      if quarky.getirstate("IRR"):
          quarky.setled(7, 1, (0, 255, 0), 50)
        else:
          quarky.setled(7, 1, (255, 0, 0), 50)
        
        time.sleep(0.1)
  7. 전체 코드는 다음과 같습니다.
    import time
    
    quarky = Quarky()
    quarky.setirthreshold("IRL", 3500)
    quarky.setirthreshold("IRR", 3500)
    
    while True:
      if quarky.getirstate("IRL"):
        quarky.setled(1, 1, (0, 255, 0), 50)
      else:
        quarky.setled(1, 1, (255, 0, 0), 50)
      
      time.sleep(0.1)
      
      if quarky.getirstate("IRR"):
        quarky.setled(7, 1, (0, 255, 0), 50)
      else:
        quarky.setled(7, 1, (255, 0, 0), 50)
      
      time.sleep(0.1)

과제 업로드

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

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

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

행운을 빕니다! ????