다운로드 교육자료 문제해결 레퍼런스 구입방법

프로세싱 : 입문자용 : Hamster

개요
햄스터 로봇을 제어하기 위한 메소드와 상수 값을 정의합니다. 사용 예시는 다음과 같습니다.

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    int value1 = hamster.leftProximity(); // 왼쪽 근접 센서 값을 얻는다.
    int value2 = hamster.accelerationX(); // X축 가속도 값을 얻는다.
    int value3 = hamster.accelerationY(); // Y축 가속도 값을 얻는다.
    int value4 = hamster.accelerationZ(); // Z축 가속도 값을 얻는다.
    hamster.leftWheel(30); // 왼쪽 바퀴의 속도를 30으로 한다.
}
메소드
버전 1.0.0부터
Hamster Hamster.create(PApplet applet)
햄스터 인스턴스를 생성하고 하드웨어 햄스터 로봇과 통신을 연결한다.

햄스터 인스턴스를 생성할 때마다 몇 번째 햄스터 로봇인지를 나타내는 인덱스는 1씩 증가한다.

파라미터:
  • applet: 프로세싱 애플릿

반환 값:
    햄스터(Hamster) 인스턴스의 참조

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}
버전 1.1.1부터
Hamster Hamster.create(PApplet applet, String portName)
햄스터 인스턴스를 생성하고 portName의 시리얼 포트를 통해 하드웨어 햄스터 로봇과 통신을 연결한다.

햄스터 인스턴스를 생성할 때마다 몇 번째 햄스터 로봇인지를 나타내는 인덱스는 1씩 증가한다.

파라미터:
  • applet: 프로세싱 애플릿
  • portName: 시리얼 포트 이름

반환 값:
    햄스터(Hamster) 인스턴스의 참조

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this, "COM52");
}

void draw() {
}
버전 1.1.1부터
int accelerationX()
X축 가속도 센서 값을 반환한다.

햄스터 로봇의 가속도 센서 좌표계는 로봇이 전진하는 방향이 X축, 로봇의 왼쪽 방향이 Y축, 위쪽 방향이 Z축의 양수 방향이다.

반환 값:
    X축 가속도 센서 값(-32768 ~ 32767, 초기 값: 0)

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // X축 가속도 값을 얻는다.
    int value = hamster.accelerationX();
}
버전 1.1.1부터
int accelerationY()
Y축 가속도 센서 값을 반환한다.

햄스터 로봇의 가속도 센서 좌표계는 로봇이 전진하는 방향이 X축, 로봇의 왼쪽 방향이 Y축, 위쪽 방향이 Z축의 양수 방향이다.

반환 값:
    Y축 가속도 센서 값(-32768 ~ 32767, 초기 값: 0)

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // Y축 가속도 값을 얻는다.
    int value = hamster.accelerationY();
}
버전 1.1.1부터
int accelerationZ()
Z축 가속도 센서 값을 반환한다.

햄스터 로봇의 가속도 센서 좌표계는 로봇이 전진하는 방향이 X축, 로봇의 왼쪽 방향이 Y축, 위쪽 방향이 Z축의 양수 방향이다.

반환 값:
    Z축 가속도 센서 값(-32768 ~ 32767, 초기 값: 0)

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // Z축 가속도 값을 얻는다.
    int value = hamster.accelerationZ();
}
버전 1.1.1부터
void beep()
440 Hz의 버저 음을 짧게(0.2초) 소리낸다.

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 버저 음을 짧게 소리낸다.
    hamster.beep();
}
버전 1.1.1부터
void boardForward()
검은색 격자로 구성된 말판 위에서 한 칸 앞으로 이동한다.

말판은 교육자료 - 수업자료 - 활동지에서 내려받을 수 있다.

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 말판 위에서 한 칸 앞으로 이동한다.
    hamster.boardForward();
}
버전 1.1.1부터
void boardLeft()
검은색 격자로 구성된 말판 위에서 왼쪽 방향으로 제자리에서 90도 회전한다.

말판은 교육자료 - 수업자료 - 활동지에서 내려받을 수 있다.

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 말판 위에서 왼쪽 방향으로 제자리에서 90도 회전한다.
    hamster.boardLeft();
}
버전 1.1.1부터
void boardRight()
검은색 격자로 구성된 말판 위에서 오른쪽 방향으로 제자리에서 90도 회전한다.

말판은 교육자료 - 수업자료 - 활동지에서 내려받을 수 있다.

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 말판 위에서 오른쪽 방향으로 제자리에서 90도 회전한다.
    hamster.boardRight();
}
버전 1.1.1부터
void buzzer(float hz)
버저 소리의 음 높이 주파수를 hz [Hz]로 설정한다.

음 높이는 소수점 둘째 자리까지 입력할 수 있으며, 버저 소리를 끄기 위해서는 0을 입력하면 된다.

파라미터:
  • hz: 버저 소리의 음 높이(0 ~ 167772.15 [Hz], 0: off)

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 버저 소리의 음 높이를 1000 Hz로 한다.
    hamster.buzzer(1000);
    // 버저 소리의 음 높이를 261.63 Hz로 한다.
    hamster.buzzer(261.63);
    // 버저 소리를 끈다.
    hamster.buzzer(0);
}
버전 1.1.0부터
void dispose()
로봇의 통신 연결을 종료한다.
버전 1.0.0부터
String getName()
로봇의 이름을 반환한다.

반환 값:
    로봇의 이름을 나타내는 문자열. 항상 null이 아니다.

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 로봇의 이름을 얻는다.
    String name = hamster.getName();
}
버전 1.1.1부터
int inputA()
외부 확장 포트 중에서 포트 A로 입력되는 신호 값을 반환한다.

외부 확장 포트 A의 입출력 모드에 따라 반환하는 값의 범위가 달라진다.

반환 값:
    포트 A로 입력되는 신호 값(초기 값: 0)

입출력 모드 값의 범위 설명
IO_MODE_ANALOG_INPUT
(아날로그 입력 모드)
0 ~ 255 입력 전압을 8비트 ADC로 측정한다. 최대 입력 전압인 3.3V가 입력되면 255의 값을 가진다.
IO_MODE_DIGITAL_INPUT
(디지털 입력 모드)
0 또는 1 입력 전압을 0과 1로 변환한다. 입력 전압이 1.6V 이상이면 1로 하고, 아니면 0으로 한다.

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
    hamster.ioModeA(Hamster.IO_MODE_ANALOG_INPUT);
}

void draw() {
}

void run() {
    // 포트 A로 입력되는 신호 값을 얻는다.
    int value = hamster.inputA();
}
버전 1.1.1부터
int inputB()
외부 확장 포트 중에서 포트 B로 입력되는 신호 값을 반환한다.

외부 확장 포트 B의 입출력 모드에 따라 반환하는 값의 범위가 달라진다.

반환 값:
    포트 B로 입력되는 신호 값(초기 값: 0)

입출력 모드 값의 범위 설명
IO_MODE_ANALOG_INPUT
(아날로그 입력 모드)
0 ~ 255 입력 전압을 8비트 ADC로 측정한다. 최대 입력 전압인 3.3V가 입력되면 255의 값을 가진다.
IO_MODE_DIGITAL_INPUT
(디지털 입력 모드)
0 또는 1 입력 전압을 0과 1로 변환한다. 입력 전압이 1.6V 이상이면 1로 하고, 아니면 0으로 한다.

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
    hamster.ioModeB(Hamster.IO_MODE_DIGITAL_INPUT);
}

void draw() {
}

void run() {
    // 포트 B로 입력되는 신호 값을 얻는다.
    int value = hamster.inputB();
}
버전 1.1.1부터
void ioModeA(int mode)
외부 확장 포트 중에서 포트 A의 입출력 모드를 설정한다.

파라미터:
  • mode: 포트 A의 입출력 모드

입출력 모드 상수 값 설명
IO_MODE_ANALOG_INPUT
(아날로그 입력 모드)
0 입력 전압을 8비트 ADC로 측정한다. 최대 입력 전압인 3.3V가 입력되면 255의 값을 가진다.
IO_MODE_DIGITAL_INPUT
(디지털 입력 모드)
1 입력 전압을 0과 1로 변환한다. 입력 전압이 1.6V 이상이면 1로 하고, 아니면 0으로 한다.
IO_MODE_SERVO_OUTPUT
(아날로그 서보 출력 모드)
8 외부 서보 제어용 PWM 신호를 출력한다.
IO_MODE_PWM_OUTPUT
(PWM 출력 모드)
9 듀티비(0 ~ 255 단계)에 따른 PWM 파형을 출력한다.
IO_MODE_DIGITAL_OUTPUT
(디지털 출력 모드)
10 디지털 값 LOW(0) 또는 HIGH(1)를 출력한다.

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
    // 포트 A의 입출력 모드를 아날로그 입력 모드로 설정한다.
    hamster.ioModeA(Hamster.IO_MODE_ANALOG_INPUT);
}

void draw() {
}
버전 1.1.1부터
void ioModeB(int mode)
외부 확장 포트 중에서 포트 B의 입출력 모드를 설정한다.

파라미터:
  • mode: 포트 B의 입출력 모드

입출력 모드 상수 값 설명
IO_MODE_ANALOG_INPUT
(아날로그 입력 모드)
0 입력 전압을 8비트 ADC로 측정한다. 최대 입력 전압인 3.3V가 입력되면 255의 값을 가진다.
IO_MODE_DIGITAL_INPUT
(디지털 입력 모드)
1 입력 전압을 0과 1로 변환한다. 입력 전압이 1.6V 이상이면 1로 하고, 아니면 0으로 한다.
IO_MODE_SERVO_OUTPUT
(아날로그 서보 출력 모드)
8 외부 서보 제어용 PWM 신호를 출력한다.
IO_MODE_PWM_OUTPUT
(PWM 출력 모드)
9 듀티비(0 ~ 255 단계)에 따른 PWM 파형을 출력한다.
IO_MODE_DIGITAL_OUTPUT
(디지털 출력 모드)
10 디지털 값 LOW(0) 또는 HIGH(1)를 출력한다.

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
    // 포트 B의 입출력 모드를 PWM 출력 모드로 설정한다.
    hamster.ioModeB(Hamster.IO_MODE_PWM_OUTPUT);
}

void draw() {
}
버전 1.1.1부터
void leds(int leftColor, int rightColor)
왼쪽 LED와 오른쪽 LED의 색상을 설정한다.

7가지 색상을 표현할 수 있으며, LED를 끄기 위해서는 0을 입력하면 된다.

파라미터:
  • leftColor: 왼쪽 LED의 색상(0 ~ 7, 0: off)
  • rightColor: 오른쪽 LED의 색상(0 ~ 7, 0: off)

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

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 왼쪽 LED를 빨간색으로, 오른쪽 LED를 파란색으로 켠다.
    hamster.leds(Hamster.LED_RED, Hamster.LED_BLUE);
    // 양쪽 LED를 끈다.
    hamster.leds(0, 0);
}
버전 1.1.1부터
void leds(int color)
양쪽 LED의 색상을 설정한다. leds(color, color)를 호출한 것과 같다.

7가지 색상을 표현할 수 있으며, LED를 끄기 위해서는 0을 입력하면 된다.

파라미터:
  • color: 양쪽 LED의 색상(0 ~ 7, 0: off)

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

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 양쪽 LED를 초록색으로 켠다.
    hamster.leds(Hamster.LED_GREEN);
    // 양쪽 LED를 끈다.
    hamster.leds(0);
}
버전 1.1.1부터
int leftFloor()
왼쪽 바닥 센서 값을 반환한다.

바닥 센서의 값은 약 10ms마다(초당 100회) 측정되며, 블루투스 통신으로 약 20ms마다(초당 50회) 전달된다. 센서가 출력하는 값의 범위는 0 ~ 255이지만 바닥에서 가장 밝은 색(흰색에 가까운 색 중에서 가장 밝은 색)을 100으로 자동 보정하기 때문에 코드 작성 시 사용되는 값의 범위는 0 ~ 100이다.

반환 값:
    왼쪽 바닥 센서 값(0 ~ 100, 초기 값: 0)

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 왼쪽 바닥 센서 값을 얻는다.
    int value = hamster.leftFloor();
}
버전 1.1.1부터
void leftLed(int color)
왼쪽 LED의 색상을 설정한다.

7가지 색상을 표현할 수 있으며, LED를 끄기 위해서는 0을 입력하면 된다.

파라미터:
  • color: 왼쪽 LED의 색상(0 ~ 7, 0: off)

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

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 왼쪽 LED를 빨간색으로 켠다.
    hamster.leftLed(Hamster.LED_RED);
    // 왼쪽 LED를 끈다.
    hamster.leftLed(0);
}
버전 1.1.1부터
int leftProximity()
왼쪽 근접 센서 값을 반환한다.

근접 센서의 데이터는 약 10ms마다(초당 100회) 측정되며, 블루투스 통신으로 약 20ms마다(초당 50회) 전달된다.

반환 값:
    왼쪽 근접 센서 값(0 ~ 255, 초기 값: 0)

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 왼쪽 근접 센서 값을 얻는다.
    int value = hamster.leftProximity();
}
버전 1.1.2부터
void leftWheel(float speed)
왼쪽 바퀴의 속도를 설정한다.

왼쪽 바퀴의 속도는 최대 속도에 대한 % 값이다. 소수점 이하는 무시된다. 양수 값은 전진 방향으로의 회전을, 음수 값은 후진 방향으로의 회전을 의미한다. 부호를 제외한 절대치가 클수록 속도가 빨라진다.

파라미터:
  • speed: 왼쪽 바퀴의 속도(-100 ~ 100 [%], 0: 정지)

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 왼쪽 바퀴를 30%의 속력으로 앞으로 회전하게 한다.
    hamster.leftWheel(30);
    // 왼쪽 바퀴를 30%의 속력으로 뒤로 회전하게 한다.
    hamster.leftWheel(-30);
    // 왼쪽 바퀴를 정지한다.
    hamster.leftWheel(0);
}
버전 1.1.1부터
int light()
밝기 센서 값을 반환한다.

반환 값:
    밝기 센서 값(0 ~ 65535 [Lux], 초기 값: 0)

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 밝기 센서 값을 얻는다.
    int value = hamster.light();
}
버전 1.1.1부터
void lineTracerMode(int mode)
햄스터 로봇에 내장된 라인 트레이서 기능의 모드를 설정한다.

내장된 라인 트레이서 기능을 사용하면 초당 50회 이상의 내부 피드백 제어를 통해 고속 주행이 가능하다.

파라미터:
  • mode: 라인 트레이서 모드(0 ~ 15)

라인 트레이서 모드 데이터 값 설명
LINE_TRACER_MODE_OFF 0 내장된 라인 트레이서 기능을 사용하지 않는다.
LINE_TRACER_MODE_BLACK_LEFT_SENSOR 1 왼쪽 바닥 센서를 사용하여 검은색 라인을 오른쪽에 두고 가장자리를 따라 전진한다.
LINE_TRACER_MODE_BLACK_RIGHT_SENSOR 2 오른쪽 바닥 센서를 사용하여 검은색 라인을 왼쪽에 두고 가장자리를 따라 전진한다.
LINE_TRACER_MODE_BLACK_BOTH_SENSORS 3 양쪽 바닥 센서를 모두 사용하여 검은색 라인을 중앙에 두고 전진한다. 검은색 교차로와 짧게 끊어진 라인은 직진하여 통과한다.
LINE_TRACER_MODE_BLACK_TURN_LEFT 4 현재 교차로에 있으면 교차로를 벗어날 때까지 좌회전하고, 검은색 라인을 따라 직진하다가 다음 교차로를 만나면 정지한다.
LINE_TRACER_MODE_BLACK_TURN_RIGHT 5 현재 교차로에 있으면 교차로를 벗어날 때까지 우회전하고, 검은색 라인을 따라 직진하다가 다음 교차로를 만나면 정지한다.
LINE_TRACER_MODE_BLACK_MOVE_FORWARD 6 현재 교차로에 있으면 교차로를 벗어날 때까지 직진하고, 검은색 라인을 따라 직진하다가 다음 교차로를 만나면 정지한다.
LINE_TRACER_MODE_BLACK_UTURN 7 180도 유턴하고 검은색 라인을 따라 직진하다가 다음 교차로를 만나면 정지한다.
LINE_TRACER_MODE_WHITE_LEFT_SENSOR 8 왼쪽 바닥 센서를 사용하여 흰색 라인을 오른쪽에 두고 가장자리를 따라 전진한다.
LINE_TRACER_MODE_WHITE_RIGHT_SENSOR 9 오른쪽 바닥 센서를 사용하여 흰색 라인을 왼쪽에 두고 가장자리를 따라 전진한다.
LINE_TRACER_MODE_WHITE_BOTH_SENSORS 10 양쪽 바닥 센서를 모두 사용하여 흰색 라인을 중앙에 두고 전진한다. 흰색 교차로와 짧게 끊어진 라인은 직진하여 통과한다.
LINE_TRACER_MODE_WHITE_TURN_LEFT 11 현재 교차로에 있으면 교차로를 벗어날 때까지 좌회전하고, 흰색 라인을 따라 직진하다가 다음 교차로를 만나면 정지한다.
LINE_TRACER_MODE_WHITE_TURN_RIGHT 12 현재 교차로에 있으면 교차로를 벗어날 때까지 우회전하고, 흰색 라인을 따라 직진하다가 다음 교차로를 만나면 정지한다.
LINE_TRACER_MODE_WHITE_MOVE_FORWARD 13 현재 교차로에 있으면 교차로를 벗어날 때까지 직진하고, 흰색 라인을 따라 직진하다가 다음 교차로를 만나면 정지한다.
LINE_TRACER_MODE_WHITE_UTURN 14 180도 유턴하고 흰색 라인을 따라 직진하다가 다음 교차로를 만나면 정지한다.

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 라인 트레이서 모드를 설정한다.
    hamster.lineTracerMode(Hamster.LINE_TRACER_MODE_BLACK_LEFT_SENSOR);
    // 내장된 라인 트레이서 기능을 사용하지 않는다.
    hamster.lineTracerMode(0);
}
버전 1.1.2부터
void lineTracerSpeed(float speed)
햄스터 로봇에 내장된 라인 트레이서 기능의 주행 속도를 설정한다.

주행 속도는 1 ~ 8의 8단계이며 소수점 이하는 무시된다. 값이 클수록 주행 속도가 빨라진다.

파라미터:
  • speed: 주행 속도(1 ~ 8, 초기 값: 5)

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 라인 트레이서 주행 속도를 5로 설정한다.
    hamster.lineTracerSpeed(5);
}
버전 1.1.2부터
void note(float pitch)
버저를 이용한 오차 0.01% 이하의 정확한 음정을 소리낸다.

유효한 값은 1 ~ 88이며 소수점 이하는 무시된다. 피아노의 88 건반에 대응된다. 소리를 끄기 위해서는 0을 입력하면 된다. 각 음표에 해당하는 상수 값은 음표 상수를 참고하기 바란다.

파라미터:
  • pitch: 음정(0 ~ 88, 0: off)

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 4옥타브 도 음을 소리낸다.
    hamster.note(Hamster.NOTE_C_4);
    // 소리를 끈다.
    hamster.note(0);
}
버전 1.1.2부터
void note(float pitch, float beats)
버저를 이용한 오차 0.01% 이하의 정확한 음정을 beats 박자 만큼 소리낸다.

유효한 pitch 값은 1 ~ 88이며 소수점 이하는 무시된다. 피아노의 88 건반에 대응된다. 소리를 끄기 위해서는 pitch에 0을 입력하면 된다. 각 음표에 해당하는 상수 값은 음표 상수를 참고하기 바란다.

파라미터:
  • pitch: 음정(0 ~ 88, 0: off)
  • beats: 박자

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 4옥타브 도 음을 0.5 박자 소리낸다.
    hamster.note(Hamster.NOTE_C_4, 0.5);
    // 0.5 박자 쉰다.
    hamster.note(0, 0.5);
}
버전 1.1.2부터
void outputA(float value)
외부 확장 포트 중에서 포트 A로 출력하는 신호 값을 설정한다.

외부 확장 포트 A의 입출력 모드에 따라 설정할 수 있는 값의 범위가 달라진다. 소수점 이하는 무시된다.

파라미터:
  • value: 포트 A로 출력하는 신호 값

입출력 모드 값의 범위 설명
IO_MODE_SERVO_OUTPUT
(아날로그 서보 출력 모드)
0 ~ 180
(0: off)
외부 서보 제어용 PWM 신호를 출력하며, 20msec의 주기를 갖는 PWM 파형에서 ON 상태의 펄스 폭을 설정한다.
유효한 값은 1 ~ 180도이며, 펄스 폭 1.0msec ~ 2.0msec에 대응된다. (90도는 1.5msec에 대응)
0(off)인 경우에는 펄스 없이 항상 0이 출력되며, 180보다 큰 값을 입력하면 최대 펄스 폭인 2.5msec로 제한된다.
IO_MODE_PWM_OUTPUT
(PWM 출력 모드)
0 ~ 255 20msec의 주기를 갖는 PWM 파형에서 ON 상태의 듀티비를 0 ~ 255 단계로 설정한다.
IO_MODE_DIGITAL_OUTPUT
(디지털 출력 모드)
0 또는 1 디지털 출력(0 또는 1)을 설정한다. 0을 입력하면 LOW, 0이 아닌 값을 입력하면 HIGH 값을 출력한다.

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
    hamster.ioModeA(Hamster.IO_MODE_PWM_OUTPUT);
}

void draw() {
}

void run() {
    // PWM 출력을 50으로 설정한다.
    hamster.outputA(50);
}
버전 1.1.2부터
void outputB(float value)
외부 확장 포트 중에서 포트 B로 출력하는 신호 값을 설정한다.

외부 확장 포트 B의 입출력 모드에 따라 설정할 수 있는 값의 범위가 달라진다. 소수점 이하는 무시된다.

파라미터:
  • value: 포트 B로 출력하는 신호 값

입출력 모드 값의 범위 설명
IO_MODE_SERVO_OUTPUT
(아날로그 서보 출력 모드)
0 ~ 180
(0: off)
외부 서보 제어용 PWM 신호를 출력하며, 20msec의 주기를 갖는 PWM 파형에서 ON 상태의 펄스 폭을 설정한다.
유효한 값은 1 ~ 180도이며, 펄스 폭 1.0msec ~ 2.0msec에 대응된다. (90도는 1.5msec에 대응)
0(off)인 경우에는 펄스 없이 항상 0이 출력되며, 180보다 큰 값을 입력하면 최대 펄스 폭인 2.5msec로 제한된다.
IO_MODE_PWM_OUTPUT
(PWM 출력 모드)
0 ~ 255 20msec의 주기를 갖는 PWM 파형에서 ON 상태의 듀티비를 0 ~ 255 단계로 설정한다.
IO_MODE_DIGITAL_OUTPUT
(디지털 출력 모드)
0 또는 1 디지털 출력(0 또는 1)을 설정한다. 0을 입력하면 LOW, 0이 아닌 값을 입력하면 HIGH 값을 출력한다.

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
    hamster.ioModeB(Hamster.IO_MODE_SERVO_OUTPUT);
}

void draw() {
}

void run() {
    // 서보 출력을 90으로 설정한다.
    hamster.outputB(90);
}
버전 1.1.1부터
void reset()
모든 디바이스의 데이터를 초기화한다.
버전 1.1.1부터
int rightFloor()
오른쪽 바닥 센서 값을 반환한다.

바닥 센서의 값은 약 10ms마다(초당 100회) 측정되며, 블루투스 통신으로 약 20ms마다(초당 50회) 전달된다. 센서가 출력하는 값의 범위는 0 ~ 255이지만 바닥에서 가장 밝은 색(흰색에 가까운 색 중에서 가장 밝은 색)을 100으로 자동 보정하기 때문에 코드 작성 시 사용되는 값의 범위는 0 ~ 100이다.

반환 값:
    오른쪽 바닥 센서 값(0 ~ 100, 초기 값: 0)

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 오른쪽 바닥 센서 값을 얻는다.
    int value = hamster.rightFloor();
}
버전 1.1.1부터
void rightLed(int color)
오른쪽 LED의 색상을 설정한다.

7가지 색상을 표현할 수 있으며, LED를 끄기 위해서는 0을 입력하면 된다.

파라미터:
  • color: 오른쪽 LED의 색상(0 ~ 7, 0: off)

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

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 오른쪽 LED를 파란색으로 켠다.
    hamster.rightLed(Hamster.LED_BLUE);
    // 오른쪽 LED를 끈다.
    hamster.rightLed(0);
}
버전 1.1.1부터
int rightProximity()
오른쪽 근접 센서 값을 반환한다.

근접 센서의 데이터는 약 10ms마다(초당 100회) 측정되며, 블루투스 통신으로 약 20ms마다(초당 50회) 전달된다.

반환 값:
    오른쪽 근접 센서 값(0 ~ 255, 초기 값: 0)

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 오른쪽 근접 센서 값을 얻는다.
    int value = hamster.rightProximity();
}
버전 1.1.2부터
void rightWheel(float speed)
오른쪽 바퀴의 속도를 설정한다.

오른쪽 바퀴의 속도는 최대 속도에 대한 % 값이다. 소수점 이하는 무시된다. 양수 값은 전진 방향으로의 회전을, 음수 값은 후진 방향으로의 회전을 의미한다. 부호를 제외한 절대치가 클수록 속도가 빨라진다.

파라미터:
  • speed: 오른쪽 바퀴의 속도(-100 ~ 100 [%], 0: 정지)

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 오른쪽 바퀴를 30%의 속력으로 앞으로 회전하게 한다.
    hamster.rightWheel(30);
    // 오른쪽 바퀴를 30%의 속력으로 뒤로 회전하게 한다.
    hamster.rightWheel(-30);
    // 오른쪽 바퀴를 정지한다.
    hamster.rightWheel(0);
}
버전 1.1.0부터
void setName(String name)
로봇의 이름을 name으로 설정한다.

파라미터:
  • name: 설정할 로봇의 이름. null을 입력한 경우에는 이름이 빈 문자열("")로 설정된다.

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 로봇의 이름을 "Hamster"로 설정한다.
    hamster.setName("Hamster");
}
버전 1.1.1부터
int signalStrength()
신호 세기 값을 반환한다.

햄스터 로봇과 컴퓨터 간의 블루투스 무선 통신의 신호 세기를 나타낸다. 신호의 세기가 셀수록 값이 커진다.

반환 값:
    신호 세기 값(-128 ~ 0 [dBm], 초기 값: 0)

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 신호 세기 값을 얻는다.
    int value = hamster.signalStrength();
}
버전 1.1.1부터
void stop()
양쪽 바퀴를 정지한다. wheels(0, 0) 또는 wheels(0)을 호출한 것과 같다.

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 30%의 속력으로 앞으로 이동한다.
    hamster.wheels(30, 30);
    // 양쪽 바퀴를 정지한다.
    hamster.stop();
}
버전 1.1.1부터
int temperature()
온도 센서 값을 반환한다.

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

반환 값:
    온도 센서 값(-40 ~ 88 [oC], 초기 값: 0)

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 온도 센서 값을 얻는다.
    int value = hamster.temperature();
}
버전 1.1.1부터
void tempo(float bpm)
연주하거나 쉬는 속도를 bpm(분당 박자 수)으로 설정한다.

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

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 연주 속도를 60 BPM으로 한다.
    hamster.tempo(60);
}
버전 1.1.2부터
void wheels(float leftSpeed, float rightSpeed)
왼쪽 바퀴와 오른쪽 바퀴의 속도를 설정한다.

바퀴의 속도는 최대 속도에 대한 % 값이다. 소수점 이하는 무시된다. 양수 값은 전진 방향으로의 회전을, 음수 값은 후진 방향으로의 회전을 의미한다. 부호를 제외한 절대치가 클수록 속도가 빨라진다.

파라미터:
  • leftSpeed: 왼쪽 바퀴의 속도(-100 ~ 100 [%], 0: 정지)
  • rightSpeed: 오른쪽 바퀴의 속도(-100 ~ 100 [%], 0: 정지)

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 양쪽 바퀴를 30%의 속력으로 앞으로 회전하게 한다.
    hamster.wheels(30, 30);
    // 양쪽 바퀴를 30%의 속력으로 뒤로 회전하게 한다.
    hamster.wheels(-30, -30);
    // 양쪽 바퀴를 정지한다.
    hamster.wheels(0, 0);
}
버전 1.1.2부터
void wheels(float speed)
양쪽 바퀴의 속도를 설정한다. wheels(speed, speed)를 호출한 것과 같다.

바퀴의 속도는 최대 속도에 대한 % 값이다. 소수점 이하는 무시된다. 양수 값은 전진 방향으로의 회전을, 음수 값은 후진 방향으로의 회전을 의미한다. 부호를 제외한 절대치가 클수록 속도가 빨라진다.

파라미터:
  • speed: 양쪽 바퀴의 속도(-100 ~ 100 [%], 0: 정지)

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 양쪽 바퀴를 30%의 속력으로 앞으로 회전하게 한다.
    hamster.wheels(30);
    // 양쪽 바퀴를 30%의 속력으로 뒤로 회전하게 한다.
    hamster.wheels(-30);
    // 양쪽 바퀴를 정지한다.
    hamster.wheels(0);
}
LED 색상 상수
버전 1.0.0부터
LED_BLUE
LED 색상 중 파란색을 나타내는 상수

상수 값:
    1
버전 1.0.0부터
LED_CYAN
LED 색상 중 하늘색을 나타내는 상수

상수 값:
    3
버전 1.0.0부터
LED_GREEN
LED 색상 중 초록색을 나타내는 상수

상수 값:
    2
버전 1.0.0부터
LED_MAGENTA
LED 색상 중 보라색을 나타내는 상수

상수 값:
    5
버전 1.0.0부터
LED_OFF
LED 끄기를 나타내는 상수

상수 값:
    0
버전 1.0.0부터
LED_RED
LED 색상 중 빨간색을 나타내는 상수

상수 값:
    4
버전 1.0.0부터
LED_WHITE
LED 색상 중 하얀색을 나타내는 상수

상수 값:
    7
버전 1.0.0부터
LED_YELLOW
LED 색상 중 노란색을 나타내는 상수

상수 값:
    6
음표 상수
버전 1.0.0부터
NOTE_A_0
0번째 옥타브의 라 음을 나타내는 상수

상수 값:
    1
버전 1.0.0부터
NOTE_A_1
1번째 옥타브의 라 음을 나타내는 상수

상수 값:
    13
버전 1.0.0부터
NOTE_A_2
2번째 옥타브의 라 음을 나타내는 상수

상수 값:
    25
버전 1.0.0부터
NOTE_A_3
3번째 옥타브의 라 음을 나타내는 상수

상수 값:
    37
버전 1.0.0부터
NOTE_A_4
4번째 옥타브의 라 음을 나타내는 상수

상수 값:
    49
버전 1.0.0부터
NOTE_A_5
5번째 옥타브의 라 음을 나타내는 상수

상수 값:
    61
버전 1.0.0부터
NOTE_A_6
6번째 옥타브의 라 음을 나타내는 상수

상수 값:
    73
버전 1.0.0부터
NOTE_A_7
7번째 옥타브의 라 음을 나타내는 상수

상수 값:
    85
버전 1.0.0부터
NOTE_A_FLAT_1
1번째 옥타브의 라b 음을 나타내는 상수

상수 값:
    12
버전 1.0.0부터
NOTE_A_FLAT_2
2번째 옥타브의 라b 음을 나타내는 상수

상수 값:
    24
버전 1.0.0부터
NOTE_A_FLAT_3
3번째 옥타브의 라b 음을 나타내는 상수

상수 값:
    36
버전 1.0.0부터
NOTE_A_FLAT_4
4번째 옥타브의 라b 음을 나타내는 상수

상수 값:
    48
버전 1.0.0부터
NOTE_A_FLAT_5
5번째 옥타브의 라b 음을 나타내는 상수

상수 값:
    60
버전 1.0.0부터
NOTE_A_FLAT_6
6번째 옥타브의 라b 음을 나타내는 상수

상수 값:
    72
버전 1.0.0부터
NOTE_A_FLAT_7
7번째 옥타브의 라b 음을 나타내는 상수

상수 값:
    84
버전 1.0.0부터
NOTE_A_SHARP_0
0번째 옥타브의 라# 음을 나타내는 상수

상수 값:
    2
버전 1.0.0부터
NOTE_A_SHARP_1
1번째 옥타브의 라# 음을 나타내는 상수

상수 값:
    14
버전 1.0.0부터
NOTE_A_SHARP_2
2번째 옥타브의 라# 음을 나타내는 상수

상수 값:
    26
버전 1.0.0부터
NOTE_A_SHARP_3
3번째 옥타브의 라# 음을 나타내는 상수

상수 값:
    38
버전 1.0.0부터
NOTE_A_SHARP_4
4번째 옥타브의 라# 음을 나타내는 상수

상수 값:
    50
버전 1.0.0부터
NOTE_A_SHARP_5
5번째 옥타브의 라# 음을 나타내는 상수

상수 값:
    62
버전 1.0.0부터
NOTE_A_SHARP_6
6번째 옥타브의 라# 음을 나타내는 상수

상수 값:
    74
버전 1.0.0부터
NOTE_A_SHARP_7
7번째 옥타브의 라# 음을 나타내는 상수

상수 값:
    86
버전 1.0.0부터
NOTE_B_0
0번째 옥타브의 시 음을 나타내는 상수

상수 값:
    3
버전 1.0.0부터
NOTE_B_1
1번째 옥타브의 시 음을 나타내는 상수

상수 값:
    15
버전 1.0.0부터
NOTE_B_2
2번째 옥타브의 시 음을 나타내는 상수

상수 값:
    27
버전 1.0.0부터
NOTE_B_3
3번째 옥타브의 시 음을 나타내는 상수

상수 값:
    39
버전 1.0.0부터
NOTE_B_4
4번째 옥타브의 시 음을 나타내는 상수

상수 값:
    51
버전 1.0.0부터
NOTE_B_5
5번째 옥타브의 시 음을 나타내는 상수

상수 값:
    63
버전 1.0.0부터
NOTE_B_6
6번째 옥타브의 시 음을 나타내는 상수

상수 값:
    75
버전 1.0.0부터
NOTE_B_7
7번째 옥타브의 시 음을 나타내는 상수

상수 값:
    87
버전 1.0.0부터
NOTE_B_FLAT_0
0번째 옥타브의 시b 음을 나타내는 상수

상수 값:
    2
버전 1.0.0부터
NOTE_B_FLAT_1
1번째 옥타브의 시b 음을 나타내는 상수

상수 값:
    14
버전 1.0.0부터
NOTE_B_FLAT_2
2번째 옥타브의 시b 음을 나타내는 상수

상수 값:
    26
버전 1.0.0부터
NOTE_B_FLAT_3
3번째 옥타브의 시b 음을 나타내는 상수

상수 값:
    38
버전 1.0.0부터
NOTE_B_FLAT_4
4번째 옥타브의 시b 음을 나타내는 상수

상수 값:
    50
버전 1.0.0부터
NOTE_B_FLAT_5
5번째 옥타브의 시b 음을 나타내는 상수

상수 값:
    62
버전 1.0.0부터
NOTE_B_FLAT_6
6번째 옥타브의 시b 음을 나타내는 상수

상수 값:
    74
버전 1.0.0부터
NOTE_B_FLAT_7
7번째 옥타브의 시b 음을 나타내는 상수

상수 값:
    86
버전 1.0.0부터
NOTE_C_1
1번째 옥타브의 도 음을 나타내는 상수

상수 값:
    4
버전 1.0.0부터
NOTE_C_2
2번째 옥타브의 도 음을 나타내는 상수

상수 값:
    16
버전 1.0.0부터
NOTE_C_3
3번째 옥타브의 도 음을 나타내는 상수

상수 값:
    28
버전 1.0.0부터
NOTE_C_4
4번째 옥타브의 도 음을 나타내는 상수

상수 값:
    40
버전 1.0.0부터
NOTE_C_5
5번째 옥타브의 도 음을 나타내는 상수

상수 값:
    52
버전 1.0.0부터
NOTE_C_6
6번째 옥타브의 도 음을 나타내는 상수

상수 값:
    64
버전 1.0.0부터
NOTE_C_7
7번째 옥타브의 도 음을 나타내는 상수

상수 값:
    76
버전 1.0.0부터
NOTE_C_8
8번째 옥타브의 도 음을 나타내는 상수

상수 값:
    88
버전 1.0.0부터
NOTE_C_SHARP_1
1번째 옥타브의 도# 음을 나타내는 상수

상수 값:
    5
버전 1.0.0부터
NOTE_C_SHARP_2
2번째 옥타브의 도# 음을 나타내는 상수

상수 값:
    17
버전 1.0.0부터
NOTE_C_SHARP_3
3번째 옥타브의 도# 음을 나타내는 상수

상수 값:
    29
버전 1.0.0부터
NOTE_C_SHARP_4
4번째 옥타브의 도# 음을 나타내는 상수

상수 값:
    41
버전 1.0.0부터
NOTE_C_SHARP_5
5번째 옥타브의 도# 음을 나타내는 상수

상수 값:
    53
버전 1.0.0부터
NOTE_C_SHARP_6
6번째 옥타브의 도# 음을 나타내는 상수

상수 값:
    65
버전 1.0.0부터
NOTE_C_SHARP_7
7번째 옥타브의 도# 음을 나타내는 상수

상수 값:
    77
버전 1.0.0부터
NOTE_D_1
1번째 옥타브의 레 음을 나타내는 상수

상수 값:
    6
버전 1.0.0부터
NOTE_D_2
2번째 옥타브의 레 음을 나타내는 상수

상수 값:
    18
버전 1.0.0부터
NOTE_D_3
3번째 옥타브의 레 음을 나타내는 상수

상수 값:
    30
버전 1.0.0부터
NOTE_D_4
4번째 옥타브의 레 음을 나타내는 상수

상수 값:
    42
버전 1.0.0부터
NOTE_D_5
5번째 옥타브의 레 음을 나타내는 상수

상수 값:
    54
버전 1.0.0부터
NOTE_D_6
6번째 옥타브의 레 음을 나타내는 상수

상수 값:
    66
버전 1.0.0부터
NOTE_D_7
7번째 옥타브의 레 음을 나타내는 상수

상수 값:
    78
버전 1.0.0부터
NOTE_D_FLAT_1
1번째 옥타브의 레b 음을 나타내는 상수

상수 값:
    5
버전 1.0.0부터
NOTE_D_FLAT_2
2번째 옥타브의 레b 음을 나타내는 상수

상수 값:
    17
버전 1.0.0부터
NOTE_D_FLAT_3
3번째 옥타브의 레b 음을 나타내는 상수

상수 값:
    29
버전 1.0.0부터
NOTE_D_FLAT_4
4번째 옥타브의 레b 음을 나타내는 상수

상수 값:
    41
버전 1.0.0부터
NOTE_D_FLAT_5
5번째 옥타브의 레b 음을 나타내는 상수

상수 값:
    53
버전 1.0.0부터
NOTE_D_FLAT_6
6번째 옥타브의 레b 음을 나타내는 상수

상수 값:
    65
버전 1.0.0부터
NOTE_D_FLAT_7
7번째 옥타브의 레b 음을 나타내는 상수

상수 값:
    77
버전 1.0.0부터
NOTE_D_SHARP_1
1번째 옥타브의 레# 음을 나타내는 상수

상수 값:
    7
버전 1.0.0부터
NOTE_D_SHARP_2
2번째 옥타브의 레# 음을 나타내는 상수

상수 값:
    19
버전 1.0.0부터
NOTE_D_SHARP_3
3번째 옥타브의 레# 음을 나타내는 상수

상수 값:
    31
버전 1.0.0부터
NOTE_D_SHARP_4
4번째 옥타브의 레# 음을 나타내는 상수

상수 값:
    43
버전 1.0.0부터
NOTE_D_SHARP_5
5번째 옥타브의 레# 음을 나타내는 상수

상수 값:
    55
버전 1.0.0부터
NOTE_D_SHARP_6
6번째 옥타브의 레# 음을 나타내는 상수

상수 값:
    67
버전 1.0.0부터
NOTE_D_SHARP_7
7번째 옥타브의 레# 음을 나타내는 상수

상수 값:
    79
버전 1.0.0부터
NOTE_E_1
1번째 옥타브의 미 음을 나타내는 상수

상수 값:
    8
버전 1.0.0부터
NOTE_E_2
2번째 옥타브의 미 음을 나타내는 상수

상수 값:
    20
버전 1.0.0부터
NOTE_E_3
3번째 옥타브의 미 음을 나타내는 상수

상수 값:
    32
버전 1.0.0부터
NOTE_E_4
4번째 옥타브의 미 음을 나타내는 상수

상수 값:
    44
버전 1.0.0부터
NOTE_E_5
5번째 옥타브의 미 음을 나타내는 상수

상수 값:
    56
버전 1.0.0부터
NOTE_E_6
6번째 옥타브의 미 음을 나타내는 상수

상수 값:
    68
버전 1.0.0부터
NOTE_E_7
7번째 옥타브의 미 음을 나타내는 상수

상수 값:
    80
버전 1.0.0부터
NOTE_E_FLAT_1
1번째 옥타브의 미b 음을 나타내는 상수

상수 값:
    7
버전 1.0.0부터
NOTE_E_FLAT_2
2번째 옥타브의 미b 음을 나타내는 상수

상수 값:
    19
버전 1.0.0부터
NOTE_E_FLAT_3
3번째 옥타브의 미b 음을 나타내는 상수

상수 값:
    31
버전 1.0.0부터
NOTE_E_FLAT_4
4번째 옥타브의 미b 음을 나타내는 상수

상수 값:
    43
버전 1.0.0부터
NOTE_E_FLAT_5
5번째 옥타브의 미b 음을 나타내는 상수

상수 값:
    55
버전 1.0.0부터
NOTE_E_FLAT_6
6번째 옥타브의 미b 음을 나타내는 상수

상수 값:
    67
버전 1.0.0부터
NOTE_E_FLAT_7
7번째 옥타브의 미b 음을 나타내는 상수

상수 값:
    79
버전 1.0.0부터
NOTE_F_1
1번째 옥타브의 파 음을 나타내는 상수

상수 값:
    9
버전 1.0.0부터
NOTE_F_2
2번째 옥타브의 파 음을 나타내는 상수

상수 값:
    21
버전 1.0.0부터
NOTE_F_3
3번째 옥타브의 파 음을 나타내는 상수

상수 값:
    33
버전 1.0.0부터
NOTE_F_4
4번째 옥타브의 파 음을 나타내는 상수

상수 값:
    45
버전 1.0.0부터
NOTE_F_5
5번째 옥타브의 파 음을 나타내는 상수

상수 값:
    57
버전 1.0.0부터
NOTE_F_6
6번째 옥타브의 파 음을 나타내는 상수

상수 값:
    69
버전 1.0.0부터
NOTE_F_7
7번째 옥타브의 파 음을 나타내는 상수

상수 값:
    81
버전 1.0.0부터
NOTE_F_SHARP_1
1번째 옥타브의 파# 음을 나타내는 상수

상수 값:
    10
버전 1.0.0부터
NOTE_F_SHARP_2
2번째 옥타브의 파# 음을 나타내는 상수

상수 값:
    22
버전 1.0.0부터
NOTE_F_SHARP_3
3번째 옥타브의 파# 음을 나타내는 상수

상수 값:
    34
버전 1.0.0부터
NOTE_F_SHARP_4
4번째 옥타브의 파# 음을 나타내는 상수

상수 값:
    46
버전 1.0.0부터
NOTE_F_SHARP_5
5번째 옥타브의 파# 음을 나타내는 상수

상수 값:
    58
버전 1.0.0부터
NOTE_F_SHARP_6
6번째 옥타브의 파# 음을 나타내는 상수

상수 값:
    70
버전 1.0.0부터
NOTE_F_SHARP_7
7번째 옥타브의 파# 음을 나타내는 상수

상수 값:
    82
버전 1.0.0부터
NOTE_G_1
1번째 옥타브의 솔 음을 나타내는 상수

상수 값:
    11
버전 1.0.0부터
NOTE_G_2
2번째 옥타브의 솔 음을 나타내는 상수

상수 값:
    23
버전 1.0.0부터
NOTE_G_3
3번째 옥타브의 솔 음을 나타내는 상수

상수 값:
    35
버전 1.0.0부터
NOTE_G_4
4번째 옥타브의 솔 음을 나타내는 상수

상수 값:
    47
버전 1.0.0부터
NOTE_G_5
5번째 옥타브의 솔 음을 나타내는 상수

상수 값:
    59
버전 1.0.0부터
NOTE_G_6
6번째 옥타브의 솔 음을 나타내는 상수

상수 값:
    71
버전 1.0.0부터
NOTE_G_7
7번째 옥타브의 솔 음을 나타내는 상수

상수 값:
    83
버전 1.0.0부터
NOTE_G_FLAT_1
1번째 옥타브의 솔b 음을 나타내는 상수

상수 값:
    10
버전 1.0.0부터
NOTE_G_FLAT_2
2번째 옥타브의 솔b 음을 나타내는 상수

상수 값:
    22
버전 1.0.0부터
NOTE_G_FLAT_3
3번째 옥타브의 솔b 음을 나타내는 상수

상수 값:
    34
버전 1.0.0부터
NOTE_G_FLAT_4
4번째 옥타브의 솔b 음을 나타내는 상수

상수 값:
    46
버전 1.0.0부터
NOTE_G_FLAT_5
5번째 옥타브의 솔b 음을 나타내는 상수

상수 값:
    58
버전 1.0.0부터
NOTE_G_FLAT_6
6번째 옥타브의 솔b 음을 나타내는 상수

상수 값:
    70
버전 1.0.0부터
NOTE_G_FLAT_7
7번째 옥타브의 솔b 음을 나타내는 상수

상수 값:
    82
버전 1.0.0부터
NOTE_G_SHARP_1
1번째 옥타브의 솔# 음을 나타내는 상수

상수 값:
    12
버전 1.0.0부터
NOTE_G_SHARP_2
2번째 옥타브의 솔# 음을 나타내는 상수

상수 값:
    24
버전 1.0.0부터
NOTE_G_SHARP_3
3번째 옥타브의 솔# 음을 나타내는 상수

상수 값:
    36
버전 1.0.0부터
NOTE_G_SHARP_4
4번째 옥타브의 솔# 음을 나타내는 상수

상수 값:
    48
버전 1.0.0부터
NOTE_G_SHARP_5
5번째 옥타브의 솔# 음을 나타내는 상수

상수 값:
    60
버전 1.0.0부터
NOTE_G_SHARP_6
6번째 옥타브의 솔# 음을 나타내는 상수

상수 값:
    72
버전 1.0.0부터
NOTE_G_SHARP_7
7번째 옥타브의 솔# 음을 나타내는 상수

상수 값:
    84
버전 1.0.0부터
NOTE_OFF
소리 끄기를 나타내는 상수

상수 값:
    0
입출력 모드 상수
버전 1.1.0부터
IO_MODE_ANALOG_INPUT
아날로그 입력 모드를 나타내는 상수

입력 전압을 8비트 ADC로 측정한다. 최대 입력 전압인 3.3V가 입력되면 255의 값을 가진다.

상수 값:
    0
버전 1.1.0부터
IO_MODE_DIGITAL_INPUT
디지털 입력 모드를 나타내는 상수

입력 전압을 0과 1로 변환한다. 입력 전압이 1.6V 이상이면 1로 하고, 아니면 0으로 한다.

상수 값:
    1
버전 1.1.0부터
IO_MODE_DIGITAL_OUTPUT
디지털 출력 모드를 나타내는 상수

디지털 값 LOW(0) 또는 HIGH(1)를 출력한다.

상수 값:
    10
버전 1.1.0부터
IO_MODE_PWM_OUTPUT
PWM 출력 모드를 나타내는 상수

듀티비(0 ~ 255 단계)에 따른 PWM 파형을 출력한다.

상수 값:
    9
버전 1.1.0부터
IO_MODE_SERVO_OUTPUT
아날로그 서보 출력 모드를 나타내는 상수

외부 서보 제어용 PWM 신호를 출력한다.

상수 값:
    8
라인 트레이서 모드 상수
버전 1.0.0부터
LINE_TRACER_MODE_BLACK_BOTH_SENSORS
양쪽 바닥 센서로 검은색 선을 따라가는 모드를 나타내는 상수

양쪽 바닥 센서를 모두 사용하여 검은색 선을 중앙에 두고 앞으로 이동한다. 검은색 교차로와 짧게 끊어진 선은 직진하여 통과한다.

상수 값:
    3
버전 1.0.0부터
LINE_TRACER_MODE_BLACK_LEFT_SENSOR
왼쪽 바닥 센서로 검은색 선을 따라가는 모드를 나타내는 상수

왼쪽 바닥 센서를 사용하여 검은색 선의 왼쪽 가장자리를 따라 앞으로 이동한다.

상수 값:
    1
버전 1.0.0부터
LINE_TRACER_MODE_BLACK_MOVE_FORWARD
검은색 선의 한 구역을 전진하는 모드를 나타내는 상수

검은색 선을 따라 앞으로 이동하다가 교차로를 만나면 정지한다.

상수 값:
    6
버전 1.0.0부터
LINE_TRACER_MODE_BLACK_RIGHT_SENSOR
오른쪽 바닥 센서로 검은색 선을 따라가는 모드를 나타내는 상수

오른쪽 바닥 센서를 사용하여 검은색 선의 오른쪽 가장자리를 따라 앞으로 이동한다.

상수 값:
    2
버전 1.0.0부터
LINE_TRACER_MODE_BLACK_TURN_LEFT
검은색 선의 한 구역을 좌회전하는 모드를 나타내는 상수

교차로에서 좌회전한 후에 검은색 선을 따라 앞으로 이동하다가 교차로를 만나면 정지한다.

상수 값:
    4
버전 1.0.0부터
LINE_TRACER_MODE_BLACK_TURN_RIGHT
검은색 선의 한 구역을 우회전하는 모드를 나타내는 상수

교차로에서 우회전한 후에 검은색 선을 따라 앞으로 이동하다가 교차로를 만나면 정지한다.

상수 값:
    5
버전 1.0.0부터
LINE_TRACER_MODE_BLACK_UTURN
검은색 선의 한 구역을 유턴하는 모드를 나타내는 상수

180도 뒤로 돈 후에 검은색 선을 따라 앞으로 이동하다가 교차로를 만나면 정지한다.

상수 값:
    7
버전 1.0.0부터
LINE_TRACER_MODE_OFF
내장 라인 트레이서 기능을 사용하지 않음을 나타내는 상수

상수 값:
    0
버전 1.0.0부터
LINE_TRACER_MODE_WHITE_BOTH_SENSORS
양쪽 바닥 센서로 하얀색 선을 따라가는 모드를 나타내는 상수

양쪽 바닥 센서를 모두 사용하여 하얀색 선을 중앙에 두고 앞으로 이동한다. 하얀색 교차로와 짧게 끊어진 선은 직진하여 통과한다.

상수 값:
    10
버전 1.0.0부터
LINE_TRACER_MODE_WHITE_LEFT_SENSOR
왼쪽 바닥 센서로 하얀색 선을 따라가는 모드를 나타내는 상수

왼쪽 바닥 센서를 사용하여 하얀색 선의 왼쪽 가장자리를 따라 앞으로 이동한다.

상수 값:
    8
버전 1.0.0부터
LINE_TRACER_MODE_WHITE_MOVE_FORWARD
하얀색 선의 한 구역을 전진하는 모드를 나타내는 상수

하얀색 선을 따라 앞으로 이동하다가 교차로를 만나면 정지한다.

상수 값:
    13
버전 1.0.0부터
LINE_TRACER_MODE_WHITE_RIGHT_SENSOR
오른쪽 바닥 센서로 하얀색 선을 따라가는 모드를 나타내는 상수

오른쪽 바닥 센서를 사용하여 하얀색 선의 오른쪽 가장자리를 따라 앞으로 이동한다.

상수 값:
    9
버전 1.0.0부터
LINE_TRACER_MODE_WHITE_TURN_LEFT
하얀색 선의 한 구역을 좌회전하는 모드를 나타내는 상수

교차로에서 좌회전한 후에 하얀색 선을 따라 앞으로 이동하다가 교차로를 만나면 정지한다.

상수 값:
    11
버전 1.0.0부터
LINE_TRACER_MODE_WHITE_TURN_RIGHT
하얀색 선의 한 구역을 우회전하는 모드를 나타내는 상수

교차로에서 우회전한 후에 하얀색 선을 따라 앞으로 이동하다가 교차로를 만나면 정지한다.

상수 값:
    12
버전 1.0.0부터
LINE_TRACER_MODE_WHITE_UTURN
하얀색 선의 한 구역을 유턴하는 모드를 나타내는 상수

180도 뒤로 돈 후에 하얀색 선을 따라 앞으로 이동하다가 교차로를 만나면 정지한다.

상수 값:
    14
Copyright 로봇SW교육원 All rights reserved.
어려운 일이 있으면 광운대학교 로봇학부 박광현 교수(akaii@kw.ac.kr)에게 연락하세요.