Skip to content
Robomation RnD Center edited this page Jul 8, 2026 · 1 revision

Pio (삐오봇)

삐오봇 로봇을 제어하기 위한 함수입니다. 삐오봇은 바퀴 주행, 목 회전, 눈 LED, 소리, 버튼 입력 등을 제어할 수 있는 교육용 로봇입니다.
이 모듈은 삐오봇의 이동, 회전, 말판 주행, 눈 LED, 사운드, 센서 값 읽기 기능을 제공합니다.

인스턴스 선언

pio = Pio(0)
이름 구분 설명 범위 / 종류 기본값
index 입력값 인스턴스 번호 (0부터 시작) 0 이상 정수 0

함수

set_wheel_speed

삐오봇의 바퀴 속도를 설정합니다. 바퀴 속도가 양수이면 앞쪽 방향으로 회전하고, 바퀴 속도가 음수이면 뒤쪽 방향으로 회전합니다. 예를 들어, 바퀴 속도가 100 이라면, 앞쪽 방향으로 100의 속도로 회전하고, 바퀴 속도가 -100 이라면, 뒤쪽 방향으로 100의 속도로 회전합니다. 한번 바퀴 속도를 설정하면, 다시 바퀴 속도를 설정하기 전까지 해당 속도로 삐오봇이 이동합니다.

매개변수

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

예제

pio = Pio(0)
pio.set_wheel_speed('both', 50)

move_distance

삐오봇이 이동할 거리를 설정합니다. 바퀴 속도가 설정되어 있지 않은 경우, 이동하지 않습니다. 거리 값이 0일 경우에는, 현재 설정되어 있는 바퀴 속도대로 멈추지 않고 이동합니다. 기다리기를 체크하면, 이동이 완료될 때까지 기다립니다.

매개변수

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

예제

pio = Pio(0)
pio.move_distance(50, 'cm', wait=True)

move_time

삐오봇이 이동할 시간을 설정합니다. 바퀴 속도가 설정되어 있지 않은 경우, 이동하지 않습니다. 기다리기를 체크하면, 이동이 완료될 때까지 기다립니다.

매개변수

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

예제

pio = Pio(0)

# wait = True
pio.move_time(5, wait=True)
# wait = False
pio.move_time(5, wait=False)

turn_degree

삐오봇이 제자리에서 회전할 방향과 각도를 설정합니다. 기다리기를 체크하면, 회전이 완료될 때까지 기다립니다.

매개변수

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

예제

pio = Pio(0)

# direction = "left"
pio.turn_degree('left', 90, wait=True)
# direction = "right"
pio.turn_degree('right', 90, wait=True)

change_wheel_speed

삐오봇의 바퀴 속도를 변경합니다. 현재의 바퀴 속도에 입력한 속도를 더한 값이 새로운 바퀴 속도가 됩니다. 새롭게 설정된 바퀴 속도의 범위는 -100 ~ 100으로 설정됩니다.

매개변수

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

예제

pio = Pio(0)
pio.change_wheel_speed('both', 50)

turbo

삐오봇의 터보 모드를 켜거나 끕니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
on 체크박스 터보 모드 ON / OFF 켜기(True), 끄기(False) True

예제

pio = Pio(0)
pio.turbo(True)

stop

삐오봇의 이동을 멈춥니다. 삐오봇의 양쪽 바퀴 속도가 모두 0으로 초기화됩니다.

매개변수: 없음

예제

pio = Pio(0)
pio.stop()

wheel_moving

삐오봇의 바퀴가 움직이고 있는지 아닌지 여부를 참(1) / 거짓(0) (으)로 반환합니다.

매개변수: 없음

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

예제

pio = Pio(0)
pio.wheel_moving()

grid_move

삐오봇이 말판 위에서 지정한 방향으로 한 칸 이동합니다. 항상 완료까지 대기합니다 (내부적으로 wait=True 고정).

매개변수

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

예제

pio = Pio(0)
pio.grid_move('forward')

grid_turn

말판 위 삐오봇이 입력받은 방향으로 90도 회전합니다. 항상 완료까지 대기합니다 (내부적으로 wait=True 고정).

매개변수

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

예제

pio = Pio(0)

# direction = "left"
pio.grid_turn('left')
# direction = "right"
pio.grid_turn('right')

set_neck_speed

삐오봇 목의 회전속도를 설정합니다. 목 속도의 범위는 1 ~ 6 입니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
data 입력값 목 회전 속도 1 ~ 6 정수 4

예제

pio = Pio(0)
pio.set_neck_speed(4)

set_neck_angle

삐오봇 목을 회전하여 도착할 각도를 설정합니다. 목 각도의 범위는 -45 ~ 45도 입니다. 기다리기를 체크하면, 회전이 완료될 때까지 기다립니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
data 입력값 목 각도 (도) -45 ~ 45 실수 -
wait 체크박스 완료 대기 여부 True / False True

예제

pio = Pio(0)
pio.set_neck_angle(15, wait=True)

neck_moving

삐오봇의 목이 움직이고 있는지 아닌지 여부를 참(1) / 거짓(0) (으)로 반환합니다.

매개변수: 없음

반환값: 목이 움직이는 중이면 참(1), 아니면 거짓(0)

예제

pio = Pio(0)
pio.neck_moving()

set_eye_color

삐오봇의 눈 LED 색을 설정합니다. 왼쪽, 오른쪽 또는 양쪽의 눈 LED 색을 변경할 수 있습니다. 색상은 프리셋 이름(문자열)으로 지정하거나, R, G, B 값을 각각 지정할 수 있습니다. r에 색상 프리셋 이름을 넣으면 g, b는 생략합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
unit 드롭다운 옵션 대상 눈 왼쪽(left), 오른쪽(right), 양쪽(both) -
r 입력값 (색상) 색상 프리셋 이름 또는 빨강 값 검정색(black), 빨간색(red), 노란색(yellow), 초록색(green), 청록색(cyan), 파란색(blue), 자홍색(magenta), 흰색(white) 또는 0~255 정수 -
g 입력값 초록 값 (r이 숫자일 때) 0 ~ 255 정수 None
b 입력값 파랑 값 (r이 숫자일 때) 0 ~ 255 정수 None

예제

pio = Pio(0)

# 색상 프리셋 이름으로 설정
pio.set_eye_color('both', 'red')
# R, G, B 값으로 설정
pio.set_eye_color('both', 255, 128, 0)

change_eye_color

지정한 R, G, B 값만큼 삐오봇의 눈 LED 색을 변경합니다. 왼쪽, 오른쪽 또는 양쪽의 색을 설정할 수 있습니다.

매개변수

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

예제

pio = Pio(0)
pio.change_eye_color('left', 10, 0, 0)

set_eye_pattern

삐오봇의 눈 패턴을 변경합니다. 패턴을 정하고 패턴 시작시 눈의 색상을 각각 정할 수 있습니다. 단, 눈 패턴을 무지개(rainbow)로 선택시엔 눈의 색상을 기본, 노란색, 청록색, 자홍색 중 하나로만 선택 가능합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
pattern 드롭다운 옵션 패턴 종류 끄기(reset), 깜빡이기(blink), 디밍(dimming), 무지개(rainbow) -
left 드롭다운 옵션 왼쪽 눈 색상 기본(black), 빨간색(red), 노란색(yellow), 초록색(green), 청록색(cyan), 파란색(blue), 자홍색(magenta), 흰색(white) white
right 드롭다운 옵션 오른쪽 눈 색상 (left 와 동일) white

예제

pio = Pio(0)
pio.set_eye_pattern('dimming', 'green', 'red')

turn_off

삐오봇의 눈 LED 색을 없앱니다. 왼쪽, 오른쪽 또는 양쪽의 눈 LED를 끌 수 있습니다.

매개변수

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

예제

pio = Pio(0)
pio.turn_off('both')

sound_buzz

지정된 주파수로 삐오봇의 버저음을 설정합니다. 소리낼 수 있는 주파수의 범위는 27.5hz ~ 6553.5hz 입니다. 이 외의 값을 입력하면 버저음이 발생하지 않습니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
hz 입력값 주파수 (Hz) 27.5 ~ 6553.5 실수 -

예제

pio = Pio(0)
pio.sound_buzz(440)

sound_note

삐오봇이 지정된 음계를 재생합니다.

매개변수

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

예제

pio = Pio(0)
pio.sound_note('D', 5)

sound_clip

삐오봇이 특정 사운드 클립을 재생합니다. 기다리기를 체크하면, 재생이 완료될 때까지 기다립니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
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, random_melody, robot, connect -
wait 체크박스 완료 대기 여부 True / False True

예제

pio = Pio(0)
pio.sound_clip('siren', wait=True)

sound_melody

삐오봇이 특정 멜로디를 재생합니다. 기다리기를 체크하면, 재생이 완료될 때까지 기다립니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
melody 드롭다운 옵션 멜로디 이름 mute, happy, angry, sad, sleep, march, birthday, dibidibidip, good_job, robot_poop, robot_bath, robot_sad, robot_happy, robot_angry, robot_sleep -
wait 체크박스 완료 대기 여부 True / False True

예제

pio = Pio(0)
pio.sound_melody('happy', wait=True)

sound_off

삐오봇의 소리를 끕니다.

매개변수: 없음

예제

pio = Pio(0)
pio.sound_off()

sound_playing

삐오봇의 소리가 재생중인지 아닌지 여부를 참(1) / 거짓(0) (으)로 반환합니다.

매개변수: 없음

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

예제

pio = Pio(0)
pio.sound_playing()

wheel_speed

삐오봇의 지정한 바퀴 속도 값을 반환합니다.

매개변수

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

반환값: 지정한 바퀴의 속도 값 (정수 또는 실수)

예제

pio = Pio(0)
pio.wheel_speed('left')

signal_strength

삐오봇의 신호 세기 값을 반환합니다. 로봇과 동글 사이의 신호 세기를 나타내며, 거리가 가까울수록 값이 커집니다.

매개변수: 없음

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

예제

pio = Pio(0)
pio.signal_strength()

battery

삐오봇의 배터리 전압 값을 반환합니다.

매개변수: 없음

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

예제

pio = Pio(0)
pio.battery()

keypad

사용자가 마지막으로 누른 삐오봇 버튼을 감지하여 참(1) / 거짓(0) (으)로 반환합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
button 드롭다운 옵션 감지할 버튼 실행하기(play), 앞으로 가기(forward), 뒤로 가기(backward), 왼쪽으로 가기(left), 오른쪽으로 가기(right), 행동하기(action), 반복하기(repeat), 삭제하기(clear) -

반환값: 지정한 버튼이 마지막으로 눌린 버튼이면 참(1), 아니면 거짓(0)

예제

pio = Pio(0)
pio.keypad('forward')

Clone this wiki locally