Hamster School

 
햄스터 로봇을 제어하기 위한 메소드와 상수 값을 정의합니다. 사용 예시는 다음과 같습니다.
from roboid import *
버전 1.0.0부터
햄스터 인스턴스를 생성하고 하드웨어 햄스터 로봇과 통신을 연결한다. 햄스터 인스턴스를 생성할 때마다 몇 번째 햄스터 로봇인지를 나타내는 인덱스는 1씩 증가한다.
Hamster
버전 1.3.0부터
햄스터 인스턴스를 생성하고 port_name의 시리얼 포트를 통해 하드웨어 햄스터 로봇과 통신을 연결한다. 햄스터 인스턴스를 생성할 때마다 몇 번째 햄스터 로봇인지를 나타내는 인덱스는 1씩 증가한다.
  • port_name: 시리얼 포트 이름(문자열)
Hamster
버전 1.3.0부터
X축 가속도 센서 값을 반환한다. 햄스터 로봇의 가속도 센서 좌표계는 로봇이 전진하는 방향이 X축, 로봇의 왼쪽 방향이 Y축, 위쪽 방향이 Z축의 양수 방향이다.
acceleration_x
버전 1.3.0부터
Y축 가속도 센서 값을 반환한다. 햄스터 로봇의 가속도 센서 좌표계는 로봇이 전진하는 방향이 X축, 로봇의 왼쪽 방향이 Y축, 위쪽 방향이 Z축의 양수 방향이다.
acceleration_y
버전 1.3.0부터
Z축 가속도 센서 값을 반환한다. 햄스터 로봇의 가속도 센서 좌표계는 로봇이 전진하는 방향이 X축, 로봇의 왼쪽 방향이 Y축, 위쪽 방향이 Z축의 양수 방향이다.
acceleration_z
버전 1.3.0부터
440 Hz의 버저 음을 짧게(0.2초) 소리낸다.
beep
버전 1.3.0부터
검은색 격자로 구성된 말판 위에서 한 칸 앞으로 이동한다. 말판은 교육자료 - 수업자료 - 활동지에서 내려받을 수 있다.
board_forward
버전 1.3.0부터
검은색 격자로 구성된 말판 위에서 왼쪽 방향으로 제자리에서 90도 회전한다. 말판은 교육자료 - 수업자료 - 활동지에서 내려받을 수 있다.
board_left
버전 1.3.0부터
검은색 격자로 구성된 말판 위에서 오른쪽 방향으로 제자리에서 90도 회전한다. 말판은 교육자료 - 수업자료 - 활동지에서 내려받을 수 있다.
board_right
버전 1.3.0부터
버저 소리의 음 높이 주파수를 hz [Hz]로 설정한다. 음 높이는 소수점 둘째 자리까지 입력할 수 있으며, 버저 소리를 끄기 위해서는 0을 입력하면 된다.
  • hz: 버저 소리의 음 높이(실수, 0 ~ 167772.15 [Hz], 0: off)
buzzerbuzzerbuzzer
버전 1.3.0부터
로봇의 이름을 반환한다.
get_name
버전 1.3.0부터
외부 확장 포트 중에서 포트 A로 입력되는 신호 값을 반환한다. 외부 확장 포트 A의 입출력 모드에 따라 반환하는 값의 범위가 달라진다.
input_a
버전 1.3.0부터
외부 확장 포트 중에서 포트 B로 입력되는 신호 값을 반환한다. 외부 확장 포트 B의 입출력 모드에 따라 반환하는 값의 범위가 달라진다.
input_b
버전 1.3.0부터
외부 확장 포트 중에서 포트 A의 입출력 모드를 설정한다.
  • mode: 포트 A의 입출력 모드(정수)
io_mode_a
버전 1.3.0부터
외부 확장 포트 중에서 포트 B의 입출력 모드를 설정한다.
  • mode: 포트 B의 입출력 모드(정수)
io_mode_b
버전 1.3.0부터
왼쪽 LED와 오른쪽 LED의 색상을 설정한다. 7가지 색상을 표현할 수 있으며, LED를 끄기 위해서는 0을 입력하면 된다.
  • left_color: 왼쪽 LED의 색상(정수, 0 ~ 7, 0: off)
  • right_color: 오른쪽 LED의 색상(정수, 0 ~ 7, 0: off)
ledsleds
버전 1.3.0부터
양쪽 LED의 색상을 설정한다. leds(color, color)를 호출한 것과 같다. 7가지 색상을 표현할 수 있으며, LED를 끄기 위해서는 0을 입력하면 된다.
  • color: 양쪽 LED의 색상(정수, 0 ~ 7, 0: off)
ledsleds
버전 1.3.0부터
왼쪽 바닥 센서 값을 반환한다. 바닥 센서의 값은 약 10ms마다(초당 100회) 측정되며, 블루투스 통신으로 약 20ms마다(초당 50회) 전달된다. 센서가 출력하는 값의 범위는 0 ~ 255이지만 바닥에서 가장 밝은 색(흰색에 가까운 색 중에서 가장 밝은 색)을 100으로 자동 보정하기 때문에 코드 작성 시 사용되는 값의 범위는 0 ~ 100이다.
left_floor
버전 1.3.0부터
왼쪽 LED의 색상을 설정한다. 7가지 색상을 표현할 수 있으며, LED를 끄기 위해서는 0을 입력하면 된다.
  • color: 왼쪽 LED의 색상(정수, 0 ~ 7, 0: off)
left_ledleft_led
버전 1.3.0부터
왼쪽 근접 센서 값을 반환한다. 근접 센서의 데이터는 약 10ms마다(초당 100회) 측정되며, 블루투스 통신으로 약 20ms마다(초당 50회) 전달된다.
left_proximity
버전 1.3.0부터
왼쪽 바퀴의 속도를 설정한다. 왼쪽 바퀴의 속도는 최대 속도에 대한 % 값이다. 양수 값은 전진 방향으로의 회전을, 음수 값은 후진 방향으로의 회전을 의미한다. 부호를 제외한 절대치가 클수록 속도가 빨라진다.
  • speed: 왼쪽 바퀴의 속도(정수, -100 ~ 100 [%], 0: 정지)
left_wheelleft_wheelleft_wheel
버전 1.3.0부터
밝기 센서 값을 반환한다.
light
버전 1.3.0부터
햄스터 로봇에 내장된 라인 트레이서 기능의 모드를 설정한다. 내장된 라인 트레이서 기능을 사용하면 초당 50회 이상의 내부 피드백 제어를 통해 고속 주행이 가능하다.
  • mode: 라인 트레이서 모드(정수, 0 ~ 15)
line_tracer_modeline_tracer_mode
버전 1.3.0부터
햄스터 로봇에 내장된 라인 트레이서 기능의 주행 속도를 설정한다. 주행 속도는 1 ~ 8의 8단계이며 값이 클수록 주행 속도가 빨라진다.
  • speed: 주행 속도(정수, 1 ~ 8, 초기 값: 5)
line_tracer_speed
버전 1.4.0부터
1초 동안 뒤로 이동한다. (기본 속도인 30%의 속도로 이동) move_backward(1) 또는 move_backward(1, 30)을 호출한 것과 같다.
move_backward
버전 1.4.0부터
sec초 동안 뒤로 이동한다. (기본 속도인 30%의 속도로 이동) move_backward(sec, 30)을 호출한 것과 같다.
  • sec: 이동할 시간(0보다 큰 실수) [초]
move_backward
버전 1.4.0부터
sec초 동안 뒤로 이동한다. (velocity 속도로 이동) velocity 값을 양수 값으로 입력하는 것이 일반적이지만, 만약 음수 값을 입력하면 반대 방향으로(앞으로) 이동한다.
  • sec: 이동할 시간(0보다 큰 실수) [초]
  • velocity: 이동할 속도(정수, -100 ~ 100 [%])
move_backward
버전 1.4.0부터
1초 동안 앞으로 이동한다. (기본 속도인 30%의 속도로 이동) move_forward(1) 또는 move_forward(1, 30)을 호출한 것과 같다.
move_forward
버전 1.4.0부터
sec초 동안 앞으로 이동한다. (기본 속도인 30%의 속도로 이동) move_forward(sec, 30)을 호출한 것과 같다.
  • sec: 이동할 시간(0보다 큰 실수) [초]
move_forward
버전 1.4.0부터
sec초 동안 앞으로 이동한다. (velocity 속도로 이동) velocity 값을 양수 값으로 입력하는 것이 일반적이지만, 만약 음수 값을 입력하면 반대 방향으로(뒤로) 이동한다.
  • sec: 이동할 시간(0보다 큰 실수) [초]
  • velocity: 이동할 속도(정수, -100 ~ 100 [%])
move_forward
버전 1.3.0부터
버저를 이용한 오차 0.01% 이하의 정확한 음정을 소리낸다. 유효한 값은 1 ~ 88이며 피아노의 88 건반에 대응된다. 소리를 끄기 위해서는 0을 입력하면 된다. 각 음표에 해당하는 상수 값은 음표 상수를 참고하기 바란다.
  • pitch: 음정(정수, 0 ~ 88, 0: off)
notenote
버전 1.3.0부터
버저를 이용한 오차 0.01% 이하의 정확한 음정을 beats 박자 만큼 소리낸다. 유효한 pitch 값은 1 ~ 88이며 피아노의 88 건반에 대응된다. 소리를 끄기 위해서는 pitch에 0을 입력하면 된다. 각 음표에 해당하는 상수 값은 음표 상수를 참고하기 바란다.
  • pitch: 음정(정수, 0 ~ 88, 0: off)
  • beats: 박자(실수)
notenote
버전 1.3.0부터
외부 확장 포트 중에서 포트 A로 출력하는 신호 값을 설정한다. 외부 확장 포트 A의 입출력 모드에 따라 설정할 수 있는 값의 범위가 달라진다.
  • value: 포트 A로 출력하는 신호 값(정수)
Title
output_a
버전 1.3.0부터
외부 확장 포트 중에서 포트 B로 출력하는 신호 값을 설정한다. 외부 확장 포트 B의 입출력 모드에 따라 설정할 수 있는 값의 범위가 달라진다.
  • value: 포트 B로 출력하는 신호 값(정수)
Title
output_b
버전 1.4.0부터
집게의 전원을 끄고 자유롭게 움직일 수 있도록 한다. open_gripper 또는 close_gripper 메소드를 사용하여 집게를 열거나 닫으면 상태를 유지하기 위해 집게의 전원이 계속 켜져 있다. 상태를 계속 유지할 필요가 없는 경우에는 배터리 소모를 줄이기 위해 집게의 전원을 끄는 것이 좋다.
release_gripper
버전 1.3.0부터
오른쪽 바닥 센서 값을 반환한다. 바닥 센서의 값은 약 10ms마다(초당 100회) 측정되며, 블루투스 통신으로 약 20ms마다(초당 50회) 전달된다. 센서가 출력하는 값의 범위는 0 ~ 255이지만 바닥에서 가장 밝은 색(흰색에 가까운 색 중에서 가장 밝은 색)을 100으로 자동 보정하기 때문에 코드 작성 시 사용되는 값의 범위는 0 ~ 100이다.
right_floor
버전 1.3.0부터
오른쪽 LED의 색상을 설정한다. 7가지 색상을 표현할 수 있으며, LED를 끄기 위해서는 0을 입력하면 된다.
  • color: 오른쪽 LED의 색상(정수, 0 ~ 7, 0: off)
right_ledright_led
버전 1.3.0부터
오른쪽 근접 센서 값을 반환한다. 근접 센서의 데이터는 약 10ms마다(초당 100회) 측정되며, 블루투스 통신으로 약 20ms마다(초당 50회) 전달된다.
right_proximity
버전 1.3.0부터
오른쪽 바퀴의 속도를 설정한다. 오른쪽 바퀴의 속도는 최대 속도에 대한 % 값이다. 양수 값은 전진 방향으로의 회전을, 음수 값은 후진 방향으로의 회전을 의미한다. 부호를 제외한 절대치가 클수록 속도가 빨라진다.
  • speed: 오른쪽 바퀴의 속도(정수, -100 ~ 100 [%], 0: 정지)
right_wheelright_wheelright_wheel
버전 1.3.0부터
로봇의 이름을 name으로 설정한다.
  • name: 설정할 로봇의 이름(문자열)
set_name
버전 1.3.0부터
신호 세기 값을 반환한다. 햄스터 로봇과 컴퓨터 간의 블루투스 무선 통신의 신호 세기를 나타낸다. 신호의 세기가 셀수록 값이 커진다.
signal_strength
버전 1.3.0부터
양쪽 바퀴를 정지한다. wheels(0, 0) 또는 wheels(0)을 호출한 것과 같다.
stop
버전 1.3.0부터
온도 센서 값을 반환한다. 햄스터 로봇 내부의 온도를 나타낸다.
o
temperature
버전 1.3.0부터
연주하거나 쉬는 속도를 bpm(분당 박자 수)으로 설정한다.
  • bpm: 분당 박자 수(실수 [BPM], 초기 값: 60)
tempo
버전 1.4.0부터
1초 동안 제자리에서 왼쪽으로 회전한다. (기본 속도인 30%의 속도로 회전) turn_left(1) 또는 turn_left(1, 30)을 호출한 것과 같다.
turn_left
버전 1.4.0부터
sec초 동안 제자리에서 왼쪽으로 회전한다. (기본 속도인 30%의 속도로 회전) turn_left(sec, 30)을 호출한 것과 같다.
  • sec: 회전할 시간(0보다 큰 실수) [초]
turn_left
버전 1.4.0부터
sec초 동안 제자리에서 왼쪽으로 회전한다. (velocity 속도로 회전) velocity 값을 양수 값으로 입력하는 것이 일반적이지만, 만약 음수 값을 입력하면 반대 방향(오른쪽)으로 회전한다.
  • sec: 회전할 시간(0보다 큰 실수) [초]
  • velocity: 회전할 속도(정수, -100 ~ 100 [%])
turn_left
버전 1.4.0부터
1초 동안 제자리에서 오른쪽으로 회전한다. (기본 속도인 30%의 속도로 회전) turn_right(1) 또는 turn_right(1, 30)을 호출한 것과 같다.
turn_right
버전 1.4.0부터
sec초 동안 제자리에서 오른쪽으로 회전한다. (기본 속도인 30%의 속도로 회전) turn_right(sec, 30)을 호출한 것과 같다.
  • sec: 회전할 시간(0보다 큰 실수) [초]
turn_right
버전 1.4.0부터
sec초 동안 제자리에서 오른쪽으로 회전한다. (velocity 속도로 회전) velocity 값을 양수 값으로 입력하는 것이 일반적이지만, 만약 음수 값을 입력하면 반대 방향(왼쪽)으로 회전한다.
  • sec: 회전할 시간(0보다 큰 실수) [초]
  • velocity: 회전할 속도(정수, -100 ~ 100 [%])
turn_right
버전 1.3.0부터
왼쪽 바퀴와 오른쪽 바퀴의 속도를 설정한다. 바퀴의 속도는 최대 속도에 대한 % 값이다. 양수 값은 전진 방향으로의 회전을, 음수 값은 후진 방향으로의 회전을 의미한다. 부호를 제외한 절대치가 클수록 속도가 빨라진다.
  • left_speed: 왼쪽 바퀴의 속도(정수, -100 ~ 100 [%], 0: 정지)
  • right_speed: 오른쪽 바퀴의 속도(정수, -100 ~ 100 [%], 0: 정지)
wheelswheelswheels
버전 1.3.0부터
양쪽 바퀴의 속도를 설정한다. wheels(speed, speed)를 호출한 것과 같다. 바퀴의 속도는 최대 속도에 대한 % 값이다. 양수 값은 전진 방향으로의 회전을, 음수 값은 후진 방향으로의 회전을 의미한다. 부호를 제외한 절대치가 클수록 속도가 빨라진다.
  • speed: 양쪽 바퀴의 속도(정수, -100 ~ 100 [%], 0: 정지)
wheelswheelswheels
버전 1.0.0부터
아날로그 입력 모드를 나타내는 상수 입력 전압을 8비트 ADC로 측정한다. 최대 입력 전압인 3.3V가 입력되면 255의 값을 가진다.
버전 1.0.0부터
디지털 입력 모드를 나타내는 상수 입력 전압을 0과 1로 변환한다. 입력 전압이 1.6V 이상이면 1로 하고, 아니면 0으로 한다.
버전 1.0.0부터
디지털 출력 모드를 나타내는 상수 디지털 값 LOW(0) 또는 HIGH(1)를 출력한다.
버전 1.0.0부터
PWM 출력 모드를 나타내는 상수 듀티비(0 ~ 255 단계)에 따른 PWM 파형을 출력한다.
버전 1.0.0부터
아날로그 서보 출력 모드를 나타내는 상수 외부 서보 제어용 PWM 신호를 출력한다.
버전 1.0.0부터
양쪽 바닥 센서로 검은색 라인을 따라가는 모드를 나타내는 상수 양쪽 바닥 센서를 모두 사용하여 검은색 라인을 중앙에 두고 전진한다. 검은색 교차로와 짧게 끊어진 라인은 직진하여 통과한다.
버전 1.0.0부터
왼쪽 바닥 센서로 검은색 라인을 따라가는 모드를 나타내는 상수 왼쪽 바닥 센서를 사용하여 검은색 라인을 오른쪽에 두고 가장자리를 따라 전진한다.
버전 1.0.0부터
검은색 라인의 한 구역을 전진하는 모드를 나타내는 상수 현재 교차로에 있으면 교차로를 벗어날 때까지 직진하고, 검은색 라인을 따라 직진하다가 다음 교차로를 만나면 정지한다.
버전 1.0.0부터
오른쪽 바닥 센서로 검은색 라인을 따라가는 모드를 나타내는 상수 오른쪽 바닥 센서를 사용하여 검은색 라인을 왼쪽에 두고 가장자리를 따라 전진한다.
버전 1.0.0부터
검은색 라인의 한 구역을 좌회전하는 모드를 나타내는 상수 현재 교차로에 있으면 교차로를 벗어날 때까지 좌회전하고, 검은색 라인을 따라 직진하다가 다음 교차로를 만나면 정지한다.
버전 1.0.0부터
검은색 라인의 한 구역을 우회전하는 모드를 나타내는 상수 현재 교차로에 있으면 교차로를 벗어날 때까지 우회전하고, 검은색 라인을 따라 직진하다가 다음 교차로를 만나면 정지한다.
버전 1.0.0부터
검은색 라인의 한 구역을 유턴하는 모드를 나타내는 상수 180도 유턴하고 검은색 라인을 따라 직진하다가 다음 교차로를 만나면 정지한다.
버전 1.0.0부터
양쪽 바닥 센서로 흰색 라인을 따라가는 모드를 나타내는 상수 양쪽 바닥 센서를 모두 사용하여 흰색 라인을 중앙에 두고 전진한다. 흰색 교차로와 짧게 끊어진 라인은 직진하여 통과한다.
버전 1.0.0부터
왼쪽 바닥 센서로 흰색 라인을 따라가는 모드를 나타내는 상수 왼쪽 바닥 센서를 사용하여 흰색 라인을 오른쪽에 두고 가장자리를 따라 전진한다.
버전 1.0.0부터
흰색 라인의 한 구역을 전진하는 모드를 나타내는 상수 현재 교차로에 있으면 교차로를 벗어날 때까지 직진하고, 흰색 라인을 따라 직진하다가 다음 교차로를 만나면 정지한다.
버전 1.0.0부터
오른쪽 바닥 센서로 흰색 라인을 따라가는 모드를 나타내는 상수 오른쪽 바닥 센서를 사용하여 흰색 라인을 왼쪽에 두고 가장자리를 따라 전진한다.
버전 1.0.0부터
흰색 라인의 한 구역을 좌회전하는 모드를 나타내는 상수 현재 교차로에 있으면 교차로를 벗어날 때까지 좌회전하고, 흰색 라인을 따라 직진하다가 다음 교차로를 만나면 정지한다.
버전 1.0.0부터
흰색 라인의 한 구역을 우회전하는 모드를 나타내는 상수 현재 교차로에 있으면 교차로를 벗어날 때까지 우회전하고, 흰색 라인을 따라 직진하다가 다음 교차로를 만나면 정지한다.
버전 1.0.0부터
흰색 라인의 한 구역을 유턴하는 모드를 나타내는 상수 180도 유턴하고 흰색 라인을 따라 직진하다가 다음 교차로를 만나면 정지한다.