-
Notifications
You must be signed in to change notification settings - Fork 0
Pio
삐오봇 로봇을 제어하기 위한 함수입니다.
삐오봇은 바퀴 주행, 목 회전, 눈 LED, 소리, 버튼 입력 등을 제어할 수 있는 교육용 로봇입니다.
이 모듈은 삐오봇의 이동, 회전, 말판 주행, 눈 LED, 사운드, 센서 값 읽기 기능을 제공합니다.
pio = Pio(0)| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| index | 입력값 | 인스턴스 번호 (0부터 시작) | 0 이상 정수 | 0 |
삐오봇의 바퀴 속도를 설정합니다. 바퀴 속도가 양수이면 앞쪽 방향으로 회전하고, 바퀴 속도가 음수이면 뒤쪽 방향으로 회전합니다. 예를 들어, 바퀴 속도가 100 이라면, 앞쪽 방향으로 100의 속도로 회전하고, 바퀴 속도가 -100 이라면, 뒤쪽 방향으로 100의 속도로 회전합니다. 한번 바퀴 속도를 설정하면, 다시 바퀴 속도를 설정하기 전까지 해당 속도로 삐오봇이 이동합니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| unit | 드롭다운 옵션 | 바퀴 종류 | 왼쪽(left), 오른쪽(right), 양쪽(both) | - |
| speed | 입력값 | 바퀴 속도 | -100 ~ 100 정수, 0: 정지 | - |
예제
pio = Pio(0)
pio.set_wheel_speed('both', 50)삐오봇이 이동할 거리를 설정합니다. 바퀴 속도가 설정되어 있지 않은 경우, 이동하지 않습니다. 거리 값이 0일 경우에는, 현재 설정되어 있는 바퀴 속도대로 멈추지 않고 이동합니다. 기다리기를 체크하면, 이동이 완료될 때까지 기다립니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| data | 입력값 | 이동 거리 | 0 이상 실수 | - |
| unit | 드롭다운 옵션 | 거리 단위 | cm, mm, 인치(inch) | cm |
| wait | 체크박스 | 완료 대기 여부 | True / False | True |
예제
pio = Pio(0)
pio.move_distance(50, 'cm', wait=True)삐오봇이 이동할 시간을 설정합니다. 바퀴 속도가 설정되어 있지 않은 경우, 이동하지 않습니다. 기다리기를 체크하면, 이동이 완료될 때까지 기다립니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| 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)삐오봇이 제자리에서 회전할 방향과 각도를 설정합니다. 기다리기를 체크하면, 회전이 완료될 때까지 기다립니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| 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)삐오봇의 바퀴 속도를 변경합니다. 현재의 바퀴 속도에 입력한 속도를 더한 값이 새로운 바퀴 속도가 됩니다. 새롭게 설정된 바퀴 속도의 범위는 -100 ~ 100으로 설정됩니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| unit | 드롭다운 옵션 | 바퀴 종류 | 왼쪽(left), 오른쪽(right), 양쪽(both) | - |
| speed | 입력값 | 변경할 속도 차 | -200 ~ 200 정수 | - |
예제
pio = Pio(0)
pio.change_wheel_speed('both', 50)삐오봇의 터보 모드를 켜거나 끕니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| on | 체크박스 | 터보 모드 ON / OFF | 켜기(True), 끄기(False) | True |
예제
pio = Pio(0)
pio.turbo(True)삐오봇의 이동을 멈춥니다. 삐오봇의 양쪽 바퀴 속도가 모두 0으로 초기화됩니다.
매개변수: 없음
예제
pio = Pio(0)
pio.stop()삐오봇의 바퀴가 움직이고 있는지 아닌지 여부를 참(1) / 거짓(0) (으)로 반환합니다.
매개변수: 없음
반환값: 바퀴가 움직이는 중이면 참(1), 아니면 거짓(0)
예제
pio = Pio(0)
pio.wheel_moving()삐오봇이 말판 위에서 지정한 방향으로 한 칸 이동합니다. 항상 완료까지 대기합니다 (내부적으로 wait=True 고정).
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| direction | 드롭다운 옵션 | 이동 방향 | 앞으로(forward), 뒤로(backward), 왼쪽으로(left), 오른쪽으로(right) | - |
| wait | 체크박스 | 완료 대기 여부 | True / False | True |
예제
pio = Pio(0)
pio.grid_move('forward')말판 위 삐오봇이 입력받은 방향으로 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')삐오봇 목의 회전속도를 설정합니다. 목 속도의 범위는 1 ~ 6 입니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| data | 입력값 | 목 회전 속도 | 1 ~ 6 정수 | 4 |
예제
pio = Pio(0)
pio.set_neck_speed(4)삐오봇 목을 회전하여 도착할 각도를 설정합니다. 목 각도의 범위는 -45 ~ 45도 입니다. 기다리기를 체크하면, 회전이 완료될 때까지 기다립니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| data | 입력값 | 목 각도 (도) | -45 ~ 45 실수 | - |
| wait | 체크박스 | 완료 대기 여부 | True / False | True |
예제
pio = Pio(0)
pio.set_neck_angle(15, wait=True)삐오봇의 목이 움직이고 있는지 아닌지 여부를 참(1) / 거짓(0) (으)로 반환합니다.
매개변수: 없음
반환값: 목이 움직이는 중이면 참(1), 아니면 거짓(0)
예제
pio = Pio(0)
pio.neck_moving()삐오봇의 눈 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)지정한 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)삐오봇의 눈 패턴을 변경합니다. 패턴을 정하고 패턴 시작시 눈의 색상을 각각 정할 수 있습니다. 단, 눈 패턴을 무지개(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')삐오봇의 눈 LED 색을 없앱니다. 왼쪽, 오른쪽 또는 양쪽의 눈 LED를 끌 수 있습니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| unit | 드롭다운 옵션 | 대상 눈 | 왼쪽(left), 오른쪽(right), 양쪽(both) | both |
예제
pio = Pio(0)
pio.turn_off('both')지정된 주파수로 삐오봇의 버저음을 설정합니다. 소리낼 수 있는 주파수의 범위는 27.5hz ~ 6553.5hz 입니다. 이 외의 값을 입력하면 버저음이 발생하지 않습니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| hz | 입력값 | 주파수 (Hz) | 27.5 ~ 6553.5 실수 | - |
예제
pio = Pio(0)
pio.sound_buzz(440)삐오봇이 지정된 음계를 재생합니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| 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)삐오봇이 특정 사운드 클립을 재생합니다. 기다리기를 체크하면, 재생이 완료될 때까지 기다립니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| 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)삐오봇이 특정 멜로디를 재생합니다. 기다리기를 체크하면, 재생이 완료될 때까지 기다립니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| 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)삐오봇의 소리를 끕니다.
매개변수: 없음
예제
pio = Pio(0)
pio.sound_off()삐오봇의 소리가 재생중인지 아닌지 여부를 참(1) / 거짓(0) (으)로 반환합니다.
매개변수: 없음
반환값: 소리가 재생 중이면 참(1), 아니면 거짓(0)
예제
pio = Pio(0)
pio.sound_playing()삐오봇의 지정한 바퀴 속도 값을 반환합니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| unit | 드롭다운 옵션 | 대상 바퀴 | 왼쪽(left), 오른쪽(right) | - |
반환값: 지정한 바퀴의 속도 값 (정수 또는 실수)
예제
pio = Pio(0)
pio.wheel_speed('left')삐오봇의 신호 세기 값을 반환합니다. 로봇과 동글 사이의 신호 세기를 나타내며, 거리가 가까울수록 값이 커집니다.
매개변수: 없음
반환값: 신호 세기 값 (정수 또는 실수)
예제
pio = Pio(0)
pio.signal_strength()삐오봇의 배터리 전압 값을 반환합니다.
매개변수: 없음
반환값: 배터리 전압 값 (정수 또는 실수)
예제
pio = Pio(0)
pio.battery()사용자가 마지막으로 누른 삐오봇 버튼을 감지하여 참(1) / 거짓(0) (으)로 반환합니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| button | 드롭다운 옵션 | 감지할 버튼 | 실행하기(play), 앞으로 가기(forward), 뒤로 가기(backward), 왼쪽으로 가기(left), 오른쪽으로 가기(right), 행동하기(action), 반복하기(repeat), 삭제하기(clear) | - |
반환값: 지정한 버튼이 마지막으로 눌린 버튼이면 참(1), 아니면 거짓(0)
예제
pio = Pio(0)
pio.keypad('forward')