Skip to content

CheeseStick

Robomation RnD Center edited this page Aug 21, 2026 · 4 revisions

CheeseStick (치즈스틱)

치즈스틱 로봇을 제어하기 위한 함수입니다.
치즈스틱은 다양한 입출력 포트(Sa/Sb/Sc, La/Lb/Lc, Mab/Mcd)와 버저, 가속도/온도 센서를 갖춘 로봇입니다.
포트의 입력 모드를 설정하여 센서 값을 읽거나, 디지털/PWM 출력 및 소리를 제어할 수 있습니다.

인스턴스 선언

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

제품 고유 주소 확인 방법

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

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

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

로봇을 2대 이상 사용할 때

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

cheesestick1 = CheeseStick(0, address="D9:4B:8B:A4:E1:67")
cheesestick2 = CheeseStick(1, address="AA:BB:CC:DD:EE:FF")

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

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

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


치즈스틱에는 CSD01 / CSD02 / CSD03 / CSD07 / CSD09 / CSD10 / HAT010 / HAT022 / PID13 / PID26 / NeoPixel 등 확장 모듈을 연결할 수 있습니다.
각 확장 모듈의 함수는 별도의 확장 모듈 매뉴얼(cheesestick_ext)을 참고하세요.

함수

set_input_mode

치즈스틱 포트의 입력 모드를 설정합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
unit 드롭다운 옵션 입력 포트 Sa, Sb, Sc, La, Lb, Lc -
option 드롭다운 옵션 입력 모드 makey, button, digital_pullup, digital_pulldown, analog, analog_voltage -

예제

cheesestick = CheeseStick(0)
cheesestick.set_input_mode('Sa', 'button')

set_input_range

치즈스틱 포트의 원본 입력값을 사용자 정의 범위로 선형 변환합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
unit 드롭다운 옵션 입력 포트 Sa, Sb, Sc, La, Lb, Lc -
src_min 입력값 원본 최소값 정수 또는 실수 -
src_max 입력값 원본 최대값 정수 또는 실수 -
dst_min 입력값 변환 후 최소값 정수 또는 실수 -
dst_max 입력값 변환 후 최대값 정수 또는 실수 -

예제

cheesestick = CheeseStick(0)
cheesestick.set_input_range('Sa', 0, 1023, 0, 100)

set_input_range_median

원본 (min, median, max) 세 점을 기준으로 변환된 (min, median, max) 세 점으로 매핑합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
unit 드롭다운 옵션 입력 포트 Sa, Sb, Sc, La, Lb, Lc -
src_min 입력값 원본 최소값 정수 또는 실수 -
src_median 입력값 원본 중간값 정수 또는 실수 -
src_max 입력값 원본 최대값 정수 또는 실수 -
dst_min 입력값 변환 후 최소값 정수 또는 실수 -
dst_median 입력값 변환 후 중간값 정수 또는 실수 -
dst_max 입력값 변환 후 최대값 정수 또는 실수 -

예제

cheesestick = CheeseStick(0)
cheesestick.set_input_range_median('Sa', 0, 512, 1023, 0, 50, 100)

get_input

치즈스틱 포트의 입력값을 반환합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
unit 드롭다운 옵션 입력 포트 Sa, Sb, Sc, La, Lb, Lc -

반환값: 해당 포트의 입력값 (정수 또는 실수). 버튼 입력 모드에서 버튼이 눌렸는지 확인하려면 get_input('Sa') == 0 과 같이 비교합니다.

예제

cheesestick = CheeseStick(0)
cheesestick.get_input('Sa')

set_pulse_input_mode

치즈스틱 펄스 입력 모드를 설정합니다. 펄스 검출 가능한 포트는 Sc, Lc 입니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
unit 드롭다운 옵션 펄스 입력 포트 Sc, Lc -
option 드롭다운 옵션 풀 모드 default, pull-up, pull-down -

예제

cheesestick = CheeseStick(0)
cheesestick.set_pulse_input_mode('Sc', 'pull-up')

get_pulse_input

치즈스틱 펄스 입력값을 참(True) / 거짓(False)으로 반환합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
unit 드롭다운 옵션 펄스 입력 포트 Sc, Lc -

반환값: 펄스가 검출되었으면 True, 아니면 False (bool).

예제

cheesestick = CheeseStick(0)
cheesestick.get_pulse_input('Sc')

set_digital_output

치즈스틱 포트의 디지털 출력값 (0/1) 을 설정합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
unit 드롭다운 옵션 디지털 출력 포트 Sa, Sb, Sc, La, Lb, Lc, Mab, Mcd -
value 입력값 출력값 0 또는 1 -

예제

cheesestick = CheeseStick(0)
cheesestick.set_digital_output('Sa', 1)

set_pwm_output

치즈스틱 포트의 PWM 출력값을 설정합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
unit 드롭다운 옵션 PWM 출력 포트 Sa, Sb, Sc, La, Lb, Lc -
value 입력값 PWM 값 0 ~ 255 (정수 또는 실수) -

예제

cheesestick = CheeseStick(0)
cheesestick.set_pwm_output('Sa', 128)

change_pwm_output

현재 PWM 출력값에 입력한 변화량을 더해 새로운 값을 설정합니다.

매개변수

이름 구분 설명 범위 / 종류 기본값
unit 드롭다운 옵션 PWM 출력 포트 Sa, Sb, Sc, La, Lb, Lc -
value 입력값 변경할 PWM 차 정수 또는 실수 -

예제

cheesestick = CheeseStick(0)
cheesestick.change_pwm_output('Sa', 10)

sound_buzz

치즈스틱의 버저음을 설정합니다.

매개변수

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

예제

cheesestick = CheeseStick(0)
cheesestick.sound_buzz(440)

sound_note

치즈스틱이 지정된 음계를 재생합니다.

매개변수

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

예제

cheesestick = CheeseStick(0)
cheesestick.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, robot, dibidibidip, random_melody, good_job, happy, angry, sad, sleep, march, birthday -
wait 체크박스 완료 대기 여부 True / False True

예제

cheesestick = CheeseStick(0)
cheesestick.sound_clip('siren', wait=True)

sound_off

치즈스틱의 소리를 끕니다.

매개변수: 없음

예제

cheesestick = CheeseStick(0)
cheesestick.sound_off()

acceleration

치즈스틱 특정 축의 가속도 값을 반환합니다.

매개변수

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

반환값: 지정한 축의 가속도 값 (정수 또는 실수).

예제

cheesestick = CheeseStick(0)
cheesestick.acceleration('x')

tap

치즈스틱에 탭(두드림) 이벤트가 발생했는지 참(True) / 거짓(False)으로 반환합니다.

매개변수: 없음

반환값: 탭 이벤트가 발생했으면 True, 아니면 False (bool).

예제

cheesestick = CheeseStick(0)
cheesestick.tap()

fall

치즈스틱에 낙하 이벤트가 발생했는지 참(True) / 거짓(False)으로 반환합니다.

매개변수: 없음

반환값: 낙하 이벤트가 발생했으면 True, 아니면 False (bool).

예제

cheesestick = CheeseStick(0)
cheesestick.fall()

temperature

치즈스틱의 내부 온도 센서 값을 반환합니다.

매개변수: 없음

반환값: 온도 센서 값 (정수 또는 실수).

예제

cheesestick = CheeseStick(0)
cheesestick.temperature()

signal_strength

치즈스틱의 신호 세기 값을 반환합니다.

매개변수: 없음

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

예제

cheesestick = CheeseStick(0)
cheesestick.signal_strength()

battery

치즈스틱의 배터리 전압 값을 반환합니다.

매개변수: 없음

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

예제

cheesestick = CheeseStick(0)
cheesestick.battery()

Clone this wiki locally