News Download Tutorial FAQ Reference Buy

파이썬 : Controller 패키지 : 전역 함수

바로가기
함수
개요
파이썬 입문자가 클래스에 대한 이해 없이도 쉽게 사용할 수 있도록 만든 함수를 정의합니다.
한 대의 햄스터 로봇만 제어할 수 있으며, 기본적인 사용법은 다음과 같습니다.

from roboid.controller.hamster import *

# 앞으로 2초 동안 이동한다.
wheels(30, 30, 2)
# 왼쪽 LED를 빨간색으로, 오른쪽 LED를 초록색으로 2초 동안 켠다.
leds(Hamster.LED_RED, Hamster.LED_GREEN, 2)
# 근접 센서 값을 얻는다.
values = proximity()
...
dispose() # 햄스터 로봇과 통신 연결을 종료하여 폐기한다.
전역 함수
버전 1.0부터
acceleration()
가속도 센서 값을 반환한다.

튜플 형태로 반환되며, 첫 번째 값은 X축, 두 번째 값은 Y축, 세 번째 값은 Z축의 가속도 값이다. 햄스터 로봇의 가속도 센서 좌표계는 로봇이 전진하는 방향이 X축, 로봇의 왼쪽 방향이 Y축, 위쪽 방향이 Z축의 양수 방향이다.

반환 값:
    가속도 센서 값(정수 값 3개로 구성된 튜플)
    • 값의 범위: -32768 ~ 32767
    • 초기값: 0

from roboid.controller.hamster import *

# 가속도 센서 값을 얻는다.
values = acceleration()
print values[0] # X축 가속도 센서 값
print values[1] # Y축 가속도 센서 값
print values[2] # Z축 가속도 센서 값
버전 1.0부터
buzzer(hz[, seconds])
버저의 음 높이를 설정하고 seconds초 후에 끈다.

음 높이(hz)는 소수점 둘째 자리까지 표현할 수 있으며, seconds를 생략하는 경우에는 끄지 않고 음 높이를 계속 유지한다. 버저 소리를 끄기 위해서는 hz에 0을 입력하면 된다.

파라미터:
  • hz: 버저의 음 높이(실수 값) [Hz]
    • 값의 범위: 0 ~ 167772.15 (0: off)
  • seconds: 음을 유지하는 시간(실수 값) [초]

from roboid.controller.hamster import *

# 1000Hz의 음을 출력하고 2초 후에 끈다.
buzzer(1000, 2)
# 2000Hz의 음을 출력한다.
buzzer(2000)
# 1초 기다린다.
wait(1000)
# 버저 소리를 끈다.
buzzer(0)
버전 1.0부터
dispose()
햄스터 로봇과 통신 연결을 종료하여 폐기한다.

햄스터 로봇을 폐기한 이후에는 센서 값을 읽거나 로봇에게 명령을 내릴 수 없다. 프로그램을 종료하기 전에 반드시 호출해야 한다.
버전 1.0부터
floor()
바닥 센서 값을 반환한다.

튜플 형태로 반환되며, 첫 번째 값은 왼쪽, 두 번째 값은 오른쪽 바닥 센서 값이다.

반환 값:
    바닥 센서 값(정수 값 2개로 구성된 튜플)
    • 값의 범위: 0 ~ 100
    • 초기값: 0
    • 센서가 출력하는 값의 범위는 0 ~ 255이지만 바닥에서 가장 밝은 색(흰색에 가까운 색 중에서 가장 밝은 색)을 100으로 자동 보정하기 때문에 코드 작성 시 사용되는 데이터 값의 범위는 0 ~ 100이다.

from roboid.controller.hamster import *

# 바닥 센서 값을 얻는다.
values = floor()
print values[0] # 왼쪽 바닥 센서 값
print values[1] # 오른쪽 바닥 센서 값
버전 1.0부터
getName()
햄스터 로봇의 이름을 반환한다.

반환 값:
    로봇의 이름을 나타내는 문자열
버전 1.0부터
leds(left, right[, seconds])
양쪽 LED의 색상을 설정하고 seconds초 후에 끈다.

7가지 색상을 표현할 수 있으며, seconds를 생략하는 경우에는 끄지 않고 LED 색상을 계속 유지한다. LED를 끄기 위해서는 left 또는 right에 0을 입력하면 된다.

파라미터:
  • left: 왼쪽 LED의 색상(정수 값)
  • right: 오른쪽 LED의 색상(정수 값)
  • seconds: 색상을 유지하는 시간(실수 값) [초]

LED 색상 데이터 값 설명
Hamster.LED_OFF 0 LED를 끈다.
Hamster.LED_BLUE 1 LED를 파란색으로 켠다. (R: 0, G: 0, B: 255)
Hamster.LED_GREEN 2 LED를 초록색으로 켠다. (R: 0, G: 255, B: 0)
Hamster.LED_CYAN 3 LED를 하늘색으로 켠다. (R: 0, G: 255, B: 255)
Hamster.LED_RED 4 LED를 빨간색으로 켠다. (R: 255, G: 0, B: 0)
Hamster.LED_MAGENTA 5 LED를 보라색으로 켠다. (R: 255, G: 0, B: 255)
Hamster.LED_YELLOW 6 LED를 노란색으로 켠다. (R: 255, G: 255, B: 0)
Hamster.LED_WHITE 7 LED를 하얀색으로 켠다. (R: 255, G: 255, B: 255)

from roboid.controller.hamster import *

# 왼쪽 LED를 빨간색으로, 오른쪽 LED를 초록색으로 켜고 2초 후에 끈다.
leds(Hamster.LED_RED, Hamster.LED_GREEN, 2)
# 왼쪽 LED를 파란색으로, 오른쪽 LED를 노란색으로 켠다.
leds(Hamster.LED_BLUE, Hamster.LED_YELLOW)
# 1초 기다린다.
wait(1000)
# 왼쪽 LED를 끄고 오른쪽 LED를 하늘색으로 켜고 3초 후에 끈다.
leds(Hamster.LED_OFF, Hamster.LED_CYAN, 3)
# 왼쪽 LED를 보라색으로 켜고 오른쪽 LED를 끈다.
leds(Hamster.LED_MAGENTA, Hamster.LED_OFF)
# 2초 기다린다.
wait(2000)
# 양쪽 LED를 끈다.
leds(Hamster.LED_OFF, Hamster.LED_OFF)
버전 1.0부터
light()
밝기 센서 값을 반환한다.

밝을 수록 값이 커진다.

반환 값:
    밝기 센서 값(정수 값)
    • 값의 범위: 0 ~ 65535
    • 초기값: 0
버전 1.0부터
note(note[, beats])
음정을 beats박자 연주한다.

버저를 이용한 오차 0.01% 이하의 정확한 음정을 나타낸다. 유효한 값은 1 ~ 88이며 피아노의 88 건반에 대응된다. beats를 생략하는 경우에는 끄지 않고 음정을 계속 유지한다. 소리를 끄기 위해서는 note에 0을 입력하면 된다. 각 음정에 해당하는 상수 값은 음표 상수를 참고하기 바란다.

파라미터:
  • note: 음정(정수 값)
    • 값의 범위: 0 ~ 88 (0: off)
  • beats: 음정을 연주하는 박자(실수 값)

from roboid.controller.hamster import *

# 4 옥타브의 도 음을 1박자 연주한다.
note(Hamster.NOTE_C_4, 1)
# 0.5박자 쉰다.
note(Hamster.NOTE_OFF, 0.5)
# 4 옥타브의 레 음을 2박자 연주한다.
note(Hamster.NOTE_D_4, 2)
# 5 옥타브의 미 음을 연주한다.
note(Hamster.NOTE_E_5)
# 1초 기다린다.
wait(1000)
# 소리를 끈다.
note(Hamster.NOTE_OFF)
버전 1.0부터
proximity()
근접 센서 값을 반환한다.

튜플 형태로 반환되며, 첫 번째 값은 왼쪽, 두 번째 값은 오른쪽 근접 센서 값이다.

반환 값:
    근접 센서 값(정수 값 2개로 구성된 튜플)
    • 값의 범위: 0 ~ 255
    • 초기값: 0

from roboid.controller.hamster import *

# 근접 센서 값을 얻는다.
values = proximity()
print values[0] # 왼쪽 근접 센서 값
print values[1] # 오른쪽 근접 센서 값
버전 1.0부터
reset()
모든 디바이스의 데이터를 초기화한다.

바퀴를 정지하고 LED와 버저를 끈다.

버전 1.0부터
setName(name)
햄스터 로봇의 이름을 name으로 설정한다.

파라미터:
  • name: 설정할 이름(문자열)
버전 1.0부터
stop()
양쪽 바퀴를 정지한다.

from roboid.controller.hamster import *

# 앞으로 이동한다.
wheels(30, 30)
# 1초 기다린다.
wait(1000)
# 정지한다.
stop()
버전 1.0부터
temperature()
내부 온도 값을 반환한다.

햄스터 로봇 내부의 온도를 나타낸다.

반환 값:
    내부 온도 값(정수 값) [oC]
    • 값의 범위: -40 ~ 88
    • 초기값: 0

from roboid.controller.hamster import *

print temperature() # 내부 온도 값
버전 1.0부터
tempo(bpm)
연주 속도를 설정한다.

bpm은 분당 박자 수를 나타낸다.

파라미터:
  • bpm: 분당 박자 수(실수 값)
    • 초기값: 60

from roboid.controller.hamster import *

# 연주 속도를 60 bpm으로 한다.
tempo(60)
# 4 옥타브 도 음을 2박자 연주한다.
note(Hamster.NOTE_C_4, 2)
버전 1.0부터
wheels(left, right[, seconds])
양쪽 바퀴의 속도를 설정하고 seconds초 후에 정지한다.

seconds를 생략하는 경우에는 정지하지 않고 계속 움직인다. 정지하기 위해서는 left 또는 right에 0을 입력하면 된다.

파라미터:
  • left: 왼쪽 바퀴의 속도(정수 값) [%]
    • 값의 범위: -100 ~ 100
  • right: 오른쪽 바퀴의 속도(정수 값) [%]
    • 값의 범위: -100 ~ 100
  • seconds: 로봇이 움직이는 시간(실수 값) [초]

from roboid.controller.hamster import *

# 양쪽 바퀴 속도를 30으로 하고 2초 후에 정지한다. (앞으로 2초 이동)
wheels(30, 30, 2)
# 양쪽 바퀴 속도를 -30으로 한다. (뒤로 이동)
wheels(-30, -30)
# 1초 기다린다.
wait(1000)
# 왼쪽 바퀴를 정지하고 오른쪽 바퀴 속도를 30으로 하고 3초 후에 정지한다.
wheels(0, 30, 3)
# 왼쪽 바퀴 속도를 30으로 하고 오른쪽 바퀴를 정지한다.
wheels(30, 0)
# 2초 기다린다.
waits(2000)
# 양쪽 바퀴를 정지한다.
wheels(0, 0)
Copyright Robot Software Education Institute. All rights reserved.
Please contact prof. Kwang-Hyun Park (akaii@kw.ac.kr) if you have any problem.