-
Notifications
You must be signed in to change notification settings - Fork 0
Hamster
햄스터 로봇을 제어하기 위한 함수입니다.
바퀴 이동, 말판 이동, 선 따라가기, LED, 소리, 각종 센서, 입출력 포트 등을 다룰 수 있습니다.
hamster = Hamster(0)| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| index | 입력값 | 인스턴스 번호 (0부터 시작) | 0 이상 정수 | 0 |
햄스터의 바퀴 속도를 설정합니다. 바퀴 속도가 양수이면 앞쪽 방향으로 회전하고, 바퀴 속도가 음수이면 뒤쪽 방향으로 회전합니다. 예를 들어, 바퀴 속도가 100 이라면 앞쪽 방향으로 100의 속도로 회전하고, 바퀴 속도가 -100 이라면 뒤쪽 방향으로 100의 속도로 회전합니다. 한번 바퀴 속도를 설정하면, 다시 바퀴 속도를 설정하기 전까지 해당 속도로 햄스터가 이동합니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| unit | 드롭다운 옵션 | 바퀴 종류 | 왼쪽(left), 오른쪽(right), 양쪽(both) | - |
| speed | 입력값 | 바퀴 속도 | -100 ~ 100 정수, 0: 정지 | - |
예제
hamster = Hamster(0)
hamster.set_wheel_speed('both', 50)햄스터의 바퀴 속도를 변경합니다. 현재의 바퀴 속도에 입력한 속도를 더한 값이 새로운 바퀴 속도가 됩니다. 새롭게 설정된 바퀴 속도의 범위는 -100 ~ 100으로 설정됩니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| unit | 드롭다운 옵션 | 바퀴 종류 | 왼쪽(left), 오른쪽(right), 양쪽(both) | - |
| speed | 입력값 | 변경할 속도 차 | -200 ~ 200 정수 | - |
예제
hamster = Hamster(0)
hamster.change_wheel_speed('both', 10)햄스터가 이동할 시간을 설정합니다. 바퀴 속도가 설정되어 있지 않은 경우, 기본 속도로 이동합니다. 기다리기를 체크하면, 이동이 완료될 때까지 기다립니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| data | 입력값 | 이동 시간 (초) | 0 이상 실수 | - |
| wait | 체크박스 | 완료 대기 여부 | True / False | True |
예제
hamster = Hamster(0)
# wait = True
hamster.move_time(5, wait=True)
# wait = False
hamster.move_time(0.5, wait=False)햄스터의 이동을 멈춥니다. 햄스터의 양쪽 바퀴 속도가 모두 0으로 초기화됩니다.
매개변수: 없음
예제
hamster = Hamster(0)
hamster.stop()햄스터가 말판 위에서 한 칸 앞으로 이동합니다. 기다리기를 체크하면, 이동이 완료될 때까지 기다립니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| wait | 체크박스 | 완료 대기 여부 | True / False | True |
예제
hamster = Hamster(0)
hamster.grid_move()말판 위 햄스터가 입력받은 방향으로 90도 회전합니다. 기다리기를 체크하면, 회전이 완료될 때까지 기다립니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| direction | 드롭다운 옵션 | 회전 방향 | 왼쪽(left), 오른쪽(right) | - |
| wait | 체크박스 | 완료 대기 여부 | True / False | True |
예제
hamster = Hamster(0)
hamster.grid_turn('left')햄스터가 바닥 센서를 이용하여 특정한 선을 따라갑니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| floor | 드롭다운 옵션 | 따라갈 바닥 센서 | 왼쪽(left), 오른쪽(right), 가운데(center) | - |
| line | 드롭다운 옵션 | 선 색 | 검정(black), 흰색(white) | black |
예제
hamster = Hamster(0)
hamster.trace_line('left', 'black')햄스터가 지정한 방향으로 회전한 뒤, 다음 교차로를 만날 때까지 이동합니다. 기다리기를 체크하면, 이동이 완료될 때까지 기다립니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| direction | 드롭다운 옵션 | 회전 방향 | 왼쪽(left), 오른쪽(right), 앞(forward), 유턴(uturn) | - |
| line | 드롭다운 옵션 | 선 색 | 검정(black), 흰색(white) | black |
| wait | 체크박스 | 완료 대기 여부 | True / False | True |
예제
hamster = Hamster(0)
hamster.trace_intersection('left', 'black', wait=True)햄스터의 선 따라가기 속도를 설정합니다. 속도의 범위는 1 ~ 10 입니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| data | 입력값 | 선 따라가기 속도 | 1 ~ 10 정수 | - |
예제
hamster = Hamster(0)
hamster.set_trace_speed(5)햄스터의 선 따라가기 기능을 종료합니다.
매개변수: 없음
예제
hamster = Hamster(0)
hamster.stop_trace()햄스터의 LED 색을 설정합니다. 왼쪽, 오른쪽 또는 양쪽의 색을 설정할 수 있습니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| unit | 드롭다운 옵션 | 대상 LED | 왼쪽(left), 오른쪽(right), 양쪽(both) | - |
| color | 드롭다운 옵션 | 색상 | 끄기(off), 파란색(blue), 초록색(green), 청록색(cyan), 빨간색(red), 자홍색(magenta), 노란색(yellow), 흰색(white) | - |
예제
hamster = Hamster(0)
hamster.set_led_color('both', 'red')햄스터의 LED 색을 없앱니다. 왼쪽, 오른쪽 또는 양쪽의 LED를 끌 수 있습니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| unit | 드롭다운 옵션 | 대상 LED | 왼쪽(left), 오른쪽(right), 양쪽(both) | both |
예제
hamster = Hamster(0)
hamster.turn_off('both')지정된 주파수로 햄스터의 버저음을 설정합니다. 소리낼 수 있는 주파수의 범위는 1.0hz ~ 6553.5hz 입니다. 이 외의 값을 입력하면 버저음이 발생하지 않습니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| hz | 입력값 | 주파수 (Hz) | 0 ~ 6553.5 실수 | - |
예제
hamster = Hamster(0)
hamster.sound_buzz(1000)햄스터가 지정된 음계를 재생합니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| note | 드롭다운 옵션 | 음계 | 도(C), 도#(C#), 레(D), 레#(D#), 미(E), 파(F), 파#(F#), 솔(G), 솔#(G#), 라(A), 라#(A#), 시(B) | - |
| octave | 드롭다운 옵션 | 옥타브 | 1, 2, 3, 4, 5, 6, 7 | 4 |
예제
hamster = Hamster(0)
hamster.sound_note('D', 5)햄스터의 소리를 끕니다.
매개변수: 없음
예제
hamster = Hamster(0)
hamster.sound_off()햄스터의 지정한 바퀴 속도 값을 반환합니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| unit | 드롭다운 옵션 | 대상 바퀴 | 왼쪽(left), 오른쪽(right) | - |
반환값: 지정한 바퀴의 속도 값 (-100 ~ 100)
예제
hamster = Hamster(0)
hamster.wheel_speed('left')햄스터의 지정한 근접 센서 값을 반환합니다. 물체가 가까울수록 값이 커집니다. 측정 범위는 0 ~ 100입니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| unit | 드롭다운 옵션 | 측정 센서 위치 | 왼쪽(left), 오른쪽(right) | - |
반환값: 근접 센서 값 (0 ~ 100, 가까울수록 큼)
예제
hamster = Hamster(0)
hamster.proximity('left')햄스터의 지정한 바닥 센서 값을 반환합니다. 검정색이 최소값, 흰색이 최대값입니다. 측정 범위는 0 ~ 100입니다.
흰색은 프린터용 A4 용지 기준 100으로 설정되어 있습니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| unit | 드롭다운 옵션 | 측정 센서 위치 | 왼쪽(left), 오른쪽(right) | - |
반환값: 바닥 센서 값 (0 ~ 100, 검정 최소 / 흰색 최대)
예제
hamster = Hamster(0)
hamster.floor('left')햄스터의 특정 축의 중력 가속도 값을 반환합니다. 가속도 센서는 햄스터가 얼마나 빠르게 움직이거나 기울어지는지를 측정하는 센서입니다. 측정 범위는 -32768 ~ 32767입니다. 지구의 중력(1g)은 아래쪽으로 작용하므로 지구 중력 값은 Z = -16384가 됩니다.
- X축: 로봇을 앞, 뒤 방향으로 기울이는 동작을 할 때 변화합니다.
- Y축: 로봇을 왼쪽, 오른쪽 방향으로 기울이는 동작을 할 때 변화합니다.
- Z축: 로봇을 위, 아래 방향으로 뒤집을 때 변화합니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| unit | 드롭다운 옵션 | 측정 축 | x, y, z | - |
반환값: 지정한 축의 가속도 값 (-32768 ~ 32767)
예제
hamster = Hamster(0)
hamster.acceleration('x')햄스터의 밝기 센서 값을 반환합니다. 주변이 밝으면 값이 커지고, 어두우면 작아집니다. 측정 범위는 0 ~ 600입니다.
매개변수: 없음
반환값: 밝기 센서 값 (0 ~ 600)
예제
hamster = Hamster(0)
hamster.light()햄스터의 온도 센서 값을 반환합니다. 실내 온도가 아닌 로봇의 내부 온도를 나타내며, 측정 범위는 -40.0 ~ +87.5 도(°C)입니다.
매개변수: 없음
반환값: 로봇 내부 온도 (-40.0 ~ +87.5 °C)
예제
hamster = Hamster(0)
hamster.temperature()햄스터의 신호 세기 값을 반환합니다.
로봇과 동글 사이의 신호 세기를 나타내며, 거리가 가까울수록 값이 커집니다.
안정적인 동작을 위해 -50dBm ~ -80dBm 범위 내에서 사용 권장합니다.
신호 세기 값은 0에 가까울수록(예: -40 > -90) 신호가 강한 상태입니다.
매개변수: 없음
반환값: 신호 세기 값 (dBm, 0에 가까울수록 강함)
예제
hamster = Hamster(0)
hamster.signal_strength()햄스터의 배터리 전압 값을 반환합니다.
배터리 완충 시 전압은 약 4.0V이며, 보통 3.7V 이상에서 안정적으로 동작합니다.
전압이 3.5V 이하로 떨어지면 동작 오류가 발생할 수 있으므로 반드시 충전을 권장합니다.
매개변수: 없음
반환값: 배터리 전압 값 (V)
예제
hamster = Hamster(0)
hamster.battery()햄스터 입출력 포트의 입력 모드를 설정합니다. A포트, B포트 또는 A와 B 포트의 입출력 모드를 설정할 수 있습니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| unit | 드롭다운 옵션 | 입출력 포트 | a, b, 양쪽(both) | - |
| option | 드롭다운 옵션 | 입출력 모드 | analog_input, digital_input, servo_output, pwm_output, digital_output | - |
예제
hamster = Hamster(0)
hamster.io_mode('both', 'analog_input')햄스터 입출력 포트의 출력값을 설정합니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| unit | 드롭다운 옵션 | 입출력 포트 | a, b, 양쪽(both) | - |
| data | 입력값 | 출력값 | 0 ~ 180 정수 | - |
예제
hamster = Hamster(0)
hamster.set_output('both', 90)햄스터 입출력 포트의 출력값을 변경합니다. 현재의 포트 출력값에 입력한 출력값을 더한 값이 새로운 포트 출력값이 됩니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| unit | 드롭다운 옵션 | 입출력 포트 | a, b, 양쪽(both) | - |
| data | 입력값 | 변경할 출력값 차 | 정수 | - |
예제
hamster = Hamster(0)
hamster.change_output('a', 10)햄스터의 집게를 엽니다.
매개변수: 없음
예제
hamster = Hamster(0)
hamster.open_gripper()햄스터의 집게를 닫습니다.
매개변수: 없음
예제
hamster = Hamster(0)
hamster.close_gripper()햄스터의 슈터 각도를 설정하여 제어합니다. 각도의 범위는 0 ~ 180 입니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| data | 입력값 | 슈터 각도 | 0 ~ 180 정수 | - |
예제
hamster = Hamster(0)
hamster.shooter(45)햄스터의 입출력 포트 입력 값을 반환합니다.
매개변수
| 이름 | 구분 | 설명 | 범위 / 종류 | 기본값 |
|---|---|---|---|---|
| unit | 드롭다운 옵션 | 입출력 포트 | a, b | - |
반환값: 지정한 포트의 입력 값
예제
hamster = Hamster(0)
hamster.get_input('a')