Skip to content

HamsterS

Robomation RnD Center edited this page Nov 5, 2026 · 4 revisions

HamsterS (햄스터 S)

햄스터 S 로봇을 제어하기 위한 함수입니다.
바퀴 이동, 제자리/펜 기준 회전, 선 따라가기, LED, 소리, 각종 센서, 입출력 포트, 집게/슈터 등을 제어할 수 있습니다.

인스턴스 선언

hamster_s = HamsterS()                                 # 자동 탐색
hamster_s = HamsterS(0)                                # 인스턴스 번호
hamster_s = HamsterS("COM3")                           # 포트 이름
hamster_s = HamsterS("D9:4B:8B:A4:E1:67")              # 제품 고유 주소
hamster_s = HamsterS(0, port_name="COM3")              # 번호 + 포트
hamster_s = HamsterS(0, address="D9:4B:8B:A4:E1:67")   # 번호 + 주소
hamster_s = HamsterS(0, "COM3", "D94B8BA4E167")        # 번호 + 포트 + 주소
이름 구분 설명 범위 / 종류 기본값
index 입력값 인스턴스 번호 (0부터 시작) 0 이상 정수 0
port_name 입력값 연결할 포트 이름. 문자열 (COM3, /dev/cu.usbmodem1101 등) None (자동 탐색)
address 입력값 연결할 로봇의 제품 고유 주소. 문자열 (16진수 12자리, : 는 생략 가능) None (기종만 확인)

제품 고유 주소 확인 방법

로봇이 연결될 때 출력되는 메시지에서 확인할 수 있습니다. 제품 라벨에 인쇄된 주소와 같습니다.

HamsterS[0] Connected: COM3 D9:4B:8B:A4:E1:67
                           └── 이 값을 그대로 입력합니다

구분자(:)는 생략할 수 있고 대소문자를 구분하지 않습니다.
D9:4B:8B:A4:E1:67, d9:4b:8b:a4:e1:67, D94B8BA4E167 은 모두 같은 로봇을 가리킵니다.

로봇을 2대 이상 사용할 때

인스턴스 번호를 서로 다르게 지정해야 합니다.

hamster_s1 = HamsterS(0, address="D9:4B:8B:A4:E1:67")
hamster_s2 = HamsterS(1, address="AA:BB:CC:DD:EE:FF")

제품 고유 주소를 지정하지 않으면 어느 인스턴스가 어느 로봇에 연결될지 실행할 때마다 달라질 수 있습니다.
여러 대의 로봇을 사용할 때는 주소를 지정하는 것을 권장합니다.

지정한 로봇을 찾지 못한 경우

지정한 주소의 로봇이 없으면 다른 로봇에 연결되지 않고 그 인스턴스만 연결에 실패하며,
연결에 성공한 다른 로봇들은 정상적으로 동작합니다.

함수

set_wheel_speed

햄스터 S의 바퀴 속도를 설정합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
unit 드롭다운 옵션 바퀴 종류 왼쪽(left), 오른쪽(right), 양쪽(both) -
speed 입력값 바퀴 속도 -100 ~ 100 정수/실수, 0: 정지 -

예제

hamster_s = HamsterS(0)
hamster_s.set_wheel_speed('both', 50)

move_distance

햄스터 S가 이동할 거리를 설정합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
data 입력값 이동 거리 0 이상 실수 -
unit 드롭다운 옵션 거리 단위 cm, mm, 인치(inch) cm
wait 체크박스 완료 대기 여부 True / False True

예제

hamster_s = HamsterS(0)
hamster_s.move_distance(50, 'cm', wait=True)

move_time

햄스터 S가 이동할 시간을 설정합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
data 입력값 이동 시간 (초) 0 이상 실수 -
wait 체크박스 완료 대기 여부 True / False True

예제

hamster_s = HamsterS(0)
# wait = True
hamster_s.move_time(5, wait=True)
# wait = False
hamster_s.move_time(5, wait=False)

turn_degree

햄스터 S가 제자리에서 회전할 방향과 각도를 설정합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
direction 드롭다운 옵션 회전 방향 왼쪽(left), 오른쪽(right) -
data 입력값 회전 각도 (도) 0 이상 실수 -
wait 체크박스 완료 대기 여부 True / False True

예제

hamster_s = HamsterS(0)
hamster_s.turn_degree('left', 90, wait=True)

change_wheel_speed

햄스터 S의 바퀴 속도를 변경합니다. 현재의 바퀴 속도에 입력한 속도를 더한 값이 새로운 바퀴 속도가 됩니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
unit 드롭다운 옵션 바퀴 종류 왼쪽(left), 오른쪽(right), 양쪽(both) -
speed 입력값 변경할 속도 차 -200 ~ 200 정수/실수 -

예제

hamster_s = HamsterS(0)
hamster_s.change_wheel_speed('both', 10)

stop

햄스터 S의 이동을 멈춥니다.

매개변수: 없음

예제

hamster_s = HamsterS(0)
hamster_s.stop()

wheel_moving

햄스터 S의 바퀴가 움직이고 있는지 아닌지 여부를 반환합니다.

매개변수: 없음

반환값: 바퀴가 움직이는 중이면 참(True), 아니면 거짓(False) (bool)

예제

hamster_s = HamsterS(0)
hamster_s.wheel_moving()

grid_move

햄스터 S가 말판 위에서 한 칸 이동합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
wait 체크박스 완료 대기 여부 True / False True

예제

hamster_s = HamsterS(0)
hamster_s.grid_move()

grid_turn

말판 위 햄스터 S가 입력받은 방향으로 90도 회전합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
direction 드롭다운 옵션 회전 방향 왼쪽(left), 오른쪽(right) -
wait 체크박스 완료 대기 여부 True / False True

예제

hamster_s = HamsterS(0)
hamster_s.grid_turn('left')

pivot

펜 홀더 사용 중에, 햄스터 S가 제자리에서 회전할 기준과 방향, 각도를 설정합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
base 드롭다운 옵션 회전 기준 왼쪽 펜(left_pen), 오른쪽 펜(right_pen), 왼쪽 바퀴(left_wheel), 오른쪽 바퀴(right_wheel) -
direction 드롭다운 옵션 회전 방향 앞(forward), 뒤(backward) -
degree 입력값 회전 각도 (도) 0 이상 실수 -
wait 체크박스 완료 대기 여부 True / False True

예제

hamster_s = HamsterS(0)
hamster_s.pivot('left_pen', 'forward', 90, wait=True)

pivot_circle

펜 홀더 사용 중에, 햄스터 S가 원을 그릴 때 회전할 기준, 방향, 각도, 반지름을 설정합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
base 드롭다운 옵션 회전 기준 왼쪽 펜(left_pen), 오른쪽 펜(right_pen) -
direction 드롭다운 옵션 회전 방향 왼쪽 앞(left_forward), 왼쪽 뒤(left_backward), 오른쪽 앞(right_forward), 오른쪽 뒤(right_backward) -
degree 입력값 회전 각도 (도) 0 이상 실수 -
radius 입력값 회전 반지름 0 이상 실수 -
unit 드롭다운 옵션 반지름 단위 cm, mm, 인치(inch) cm
wait 체크박스 완료 대기 여부 True / False True

예제

hamster_s = HamsterS(0)
hamster_s.pivot_circle('left_pen', 'left_forward', 90, 1, 'cm', wait=True)

trace_line

햄스터 S가 바닥 센서를 이용하여 특정한 선을 따라갑니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
floor 드롭다운 옵션 따라갈 바닥 센서 왼쪽(left), 오른쪽(right), 가운데(center) -
line 드롭다운 옵션 선 색 검정(black), 흰색(white) black

예제

hamster_s = HamsterS(0)
hamster_s.trace_line('left', 'black')

trace_intersection

햄스터 S가 교차로에서 지정한 방향으로 나아간 뒤, 선을 따라 다음 교차로까지 이동하고 멈춥니다.
교차로가 아닌 곳에서 시작하면, 먼저 선을 따라 교차로까지 이동한 다음 이 동작을 합니다.
기다리기를 체크하면, 이동이 완료될 때까지 기다립니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
direction 드롭다운 옵션 교차로 진입 방향 좌회전(left), 우회전(right), 전진(forward), 유턴(uturn) -
line 드롭다운 옵션 선 색 검정(black), 흰색(white) black
wait 체크박스 완료 대기 여부 True / False True

예제

hamster_s = HamsterS(0)
hamster_s.trace_intersection('left', 'black', wait=True)

set_trace_speed

햄스터 S의 선 따라가기 속도를 설정합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
data 입력값 선 따라가기 속도 1 ~ 10 정수 -

예제

hamster_s = HamsterS(0)
hamster_s.set_trace_speed(5)

set_trace_gain

햄스터 S의 선 따라가기 방향 변화량을 설정합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
data 입력값 방향 변화량 1 ~ 10 정수 -

예제

hamster_s = HamsterS(0)
hamster_s.set_trace_gain(5)

stop_trace

햄스터 S의 선 따라가기 기능을 종료합니다.

매개변수: 없음

예제

hamster_s = HamsterS(0)
hamster_s.stop_trace()

set_led_color

햄스터 S의 LED 색을 설정합니다. 색 이름 문자열을 넣거나, R, G, B 값을 직접 넣어 색을 지정할 수 있습니다. (색상 카테고리 블록의 [R, G, B] 출력도 R, G, B 인자로 풀어서 전달합니다.)

매개변수

이름 구분 설명 범위 / 종류 기본값
unit 드롭다운 옵션 대상 LED 왼쪽(left), 오른쪽(right), 양쪽(both) -
r 입력값 (색상) 색 이름 또는 빨강 값 black, red, yellow, green, cyan, blue, magenta, white 중 하나 / 또는 0 ~ 255 정수 -
g 입력값 초록 값 (r에 색 이름을 넣은 경우 생략) 0 ~ 255 정수 None
b 입력값 파랑 값 (r에 색 이름을 넣은 경우 생략) 0 ~ 255 정수 None

예제

hamster_s = HamsterS(0)
# R, G, B 직접 지정
hamster_s.set_led_color('both', 255, 0, 0)
# 색 이름 지정
hamster_s.set_led_color('both', 'red')

change_led_color

지정한 R, G, B 값만큼 햄스터 S의 LED 색을 변경합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
unit 드롭다운 옵션 대상 LED 왼쪽(left), 오른쪽(right), 양쪽(both) -
r 입력값 빨강 변화량 -255 ~ 255 정수 -
g 입력값 초록 변화량 -255 ~ 255 정수 -
b 입력값 파랑 변화량 -255 ~ 255 정수 -

예제

hamster_s = HamsterS(0)
hamster_s.change_led_color('both', 10, 0, 0)

turn_off

햄스터 S의 LED 색을 없앱니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
unit 드롭다운 옵션 대상 LED 왼쪽(left), 오른쪽(right), 양쪽(both) both

예제

hamster_s = HamsterS(0)
hamster_s.turn_off('both')

sound_buzz

지정된 주파수로 햄스터 S의 버저음을 설정합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
hz 입력값 주파수 (Hz) 122.1 ~ 4186.0 실수 (그 외 0) -

예제

hamster_s = HamsterS(0)
hamster_s.sound_buzz(440)

sound_note

햄스터 S가 지정된 음계를 재생합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
note 드롭다운 옵션 음계 도(C), 도#(C#), 레(D), 레#(D#), 미(E), 파(F), 파#(F#), 솔(G), 솔#(G#), 라(A), 라#(A#), 시(B) -
octave 드롭다운 옵션 옥타브 3, 4, 5, 6, 7 4

예제

hamster_s = HamsterS(0)
hamster_s.sound_note('D', 5)

sound_clip

햄스터 S가 특정 사운드 클립을 재생합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
clip 드롭다운 옵션 사운드 클립 이름 mute, beep, beep2, beep3, beep_repeat, beep_random, beep_random_repeat, noise, noise_repeat, siren, siren_repeat, engine, engine_repeat, fart_a, fart_b, noise_random, noise_random_repeat, whistle, chop, chop_repeat, robot, dibidibidip, random_melody, good_job, happy, angry, sad, sleep, march, birthday -
wait 체크박스 완료 대기 여부 True / False True

예제

hamster_s = HamsterS(0)
hamster_s.sound_clip('siren', wait=True)

sound_off

햄스터 S의 소리를 끕니다.

매개변수: 없음

예제

hamster_s = HamsterS(0)
hamster_s.sound_off()

sound_playing

햄스터 S의 소리가 재생중인지 아닌지 여부를 반환합니다.

매개변수: 없음

반환값: 소리가 재생 중이면 참(True), 아니면 거짓(False) (bool)

예제

hamster_s = HamsterS(0)
hamster_s.sound_playing()

wheel_speed

햄스터 S의 지정한 바퀴 속도 값을 반환합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
unit 드롭다운 옵션 대상 바퀴 왼쪽(left), 오른쪽(right) -

반환값: 해당 바퀴의 속도 값 (정수/실수)

예제

hamster_s = HamsterS(0)
hamster_s.wheel_speed('left')

proximity

햄스터 S의 특정 근접 센서 값을 반환합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
unit 드롭다운 옵션 측정 센서 위치 왼쪽(left), 오른쪽(right) -

반환값: 해당 위치의 근접 센서 값 (정수/실수)

예제

hamster_s = HamsterS(0)
hamster_s.proximity('left')

floor

햄스터 S의 특정 바닥 센서 값을 반환합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
unit 드롭다운 옵션 측정 센서 위치 왼쪽(left), 오른쪽(right) -

반환값: 해당 위치의 바닥 센서 값 (정수/실수)

예제

hamster_s = HamsterS(0)
hamster_s.floor('left')

acceleration

햄스터 S의 특정 축의 중력 가속도 값을 반환합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
unit 드롭다운 옵션 측정 축 x, y, z -

반환값: 해당 축의 중력 가속도 값 (정수/실수)

예제

hamster_s = HamsterS(0)
hamster_s.acceleration('x')

tap

햄스터 S가 두드림(tap) 이벤트를 감지했는지 여부를 반환합니다.

매개변수: 없음

반환값: 두드림이 감지되면 참(True), 아니면 거짓(False) (bool)

예제

hamster_s = HamsterS(0)
hamster_s.tap()

light

햄스터 S의 밝기 센서 값을 반환합니다.

매개변수: 없음

반환값: 밝기 센서 값 (정수/실수)

예제

hamster_s = HamsterS(0)
hamster_s.light()

temperature

햄스터 S의 내부 온도 센서 값을 반환합니다.

매개변수: 없음

반환값: 내부 온도 센서 값 (정수/실수)

예제

hamster_s = HamsterS(0)
hamster_s.temperature()

signal_strength

햄스터 S의 신호 세기 값을 반환합니다.

매개변수: 없음

반환값: 신호 세기 값 (정수/실수)

예제

hamster_s = HamsterS(0)
hamster_s.signal_strength()

battery

햄스터 S의 배터리 전압 값을 반환합니다.

매개변수: 없음

반환값: 배터리 전압 값 (정수/실수)

예제

hamster_s = HamsterS(0)
hamster_s.battery()

io_mode

햄스터 S 입출력 포트의 입력 모드를 설정합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
unit 드롭다운 옵션 입출력 포트 a, b, 양쪽(both) -
option 드롭다운 옵션 입출력 모드 analog_input, analog_input_voltage, digital_input, digital_input_pullup, digital_input_pulldown, servo_output, pwm_output, digital_output -

예제

hamster_s = HamsterS(0)
hamster_s.io_mode('both', 'analog_input')

set_output

햄스터 S 입출력 포트의 출력값을 설정합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
unit 드롭다운 옵션 입출력 포트 a, b, 양쪽(both) -
data 입력값 출력값 0 ~ 180 정수 -

예제

hamster_s = HamsterS(0)
hamster_s.set_output('a', 90)

change_output

햄스터 S 입출력 포트의 출력값을 변경합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
unit 드롭다운 옵션 입출력 포트 a, b, 양쪽(both) -
data 입력값 변경할 출력값 차 정수 -

예제

hamster_s = HamsterS(0)
hamster_s.change_output('a', 10)

open_gripper

햄스터 S의 집게를 엽니다.

매개변수: 없음

예제

hamster_s = HamsterS(0)
hamster_s.open_gripper()

close_gripper

햄스터 S의 집게를 닫습니다.

매개변수: 없음

예제

hamster_s = HamsterS(0)
hamster_s.close_gripper()

shooter

햄스터 S의 슈터 각도를 설정합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
data 입력값 슈터 각도 0 ~ 180 정수 -

예제

hamster_s = HamsterS(0)
hamster_s.shooter(45)

get_input

햄스터 S의 입출력 포트 입력 값을 반환합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
unit 드롭다운 옵션 입출력 포트 a, b -

반환값: 해당 포트의 입력 값 (정수/실수)

예제

hamster_s = HamsterS(0)
hamster_s.get_input('a')

Clone this wiki locally