코드
알고리즘 설명
이 프로젝트는 이렇게 작동해요:
- A 버튼을 누르면:
- 서보모터가 0도 위치로 이동해요
- 0.5초(500밀리초) 기다려요
- 서보모터가 180도 위치로 이동해요
- 다시 0.5초(500밀리초) 기다려요
-
이 과정이 반복되고 자벌레가 움직이는 효과를 만들어요
- B 버튼을 누르면:
- 서모모터가 멈춰요.
블록코딩
- 서모모터가 멈춰요.
이 그림처럼 블록을 연결하면 돼요:

블록 코드 설명
이 블록 코드는 다음과 같이 동작해요:
-
go라는 변수룰 만들어요.
- A 버튼을 누를 때 블록:
- 마이크로비트의 A 버튼을 누르면 go라는 변수에 1이 저장되요.
- B 버튼을 누를 때 블록:
- 마이크로비트의 B 버튼을 누르면 go라는 변수에 0이 저장되요.
- 무한반복 블록:
- 마이크로비트가 무한으로 동작하는 블록이에요
- 만약 go = 1 이면 블록:
- 만약 go라는 변수가 1이라면 동작하는 조건 블록이에요.
- P0에 서보 쓰기 0도 블록:
- P0 핀에 연결된 서보모터를 0도 위치로 움직여요.
- 이 때 자벌레의 몸통이 움직여요
- 500ms 기다리기 블록:
- 0.5초(500밀리초) 동안 기다려요.
- 이렇게 기다리면 서보모터가 천천히 움직이는 것처럼 보여요.
- P0에 서보 쓰기 180도 블록:
- P0 핀에 연결된 서보모터를 180도 위치로 움직여요.
- 이 때 자벌레의 몸통이 움직여요.
- 다시 500ms 기다리기 블록:
- 다시 0.5초(500밀리초) 동안 기다려요.
- 이렇게 하면 한 번의 동작이 완료돼요.
텍스트코딩 (Python)
go = 0
def on_button_pressed_a():
global go
go = 1
input.on_button_pressed(Button.A, on_button_pressed_a)
def on_button_pressed_b():
global go
go = 0
input.on_button_pressed(Button.B, on_button_pressed_b)
def on_forever():
if go == 1:
servos.P0.set_angle(0)
basic.pause(500)
servos.P0.set_angle(180)
basic.pause(500)
basic.forever(on_forever)
코드 업로드하는 방법
- 컴퓨터에서 MakeCode 편집기를 열어요.
- “새 프로젝트” 버튼을 눌러요.
- 블록을 그림처럼 연결하거나, python 탭을 누르고 위의 코드를 복사해 붙여넣어요.
- 프로젝트 이름을 “자벌레”로 넣고 저장해요.
- “다운로드” 버튼을 눌러서 파일을 컴퓨터에 저장해요.
- USB 케이블로 마이크로비트를 컴퓨터에 연결해요.
- 다운로드한 파일을 마이크로비트 드라이브에 복사해요.
- 코드가 마이크로비트에 올라가면 자동으로 실행돼요.
코드 바꿔보기
- 움직임 속도 바꾸기:
- 기다리기 블록의 시간을 바꿔서 움직임 속도를 조절해보세요.
- 숫자가 작을수록 더 빠르게, 클수록 더 천천히 움직여요.
- 예: 500ms 대신 200ms(빠름) 또는 1000ms(느림)로 바꿔보세요.
- 다른 각도 시도하기:
- 서보 쓰기 블록의 각도 값을 바꿔서 다른 각도로 움직이게 해보세요.
- 0에서 180 사이의 숫자를 사용할 수 있어요.
- 예: 0도와 180도 대신 45도와 135도로 바꿔보세요.
- LED 추가하기:
- 자벌레가 움직이면서 표정이 나오도록 만들어보세요
- 예를 들어, 다리를 움직인 다음에 LED 메트릭스에 화면이 나와요.
문제 해결하기
- 서보모터가 안 움직여요:
- P0 핀에 서보모터가 제대로 연결되었는지 확인하세요.
- 마이크로비트 동작 불빛이 들어왔는지 확인하세요. 불빛이 안들어온다면 베터리 전원이 없는 거에요.

- USB 전원으로 동작시켜봐요
- 서보모터가 이상한 소리를 내요:
- 서보모터가 어딘가에 걸리지 않았는지 확인하세요.
- 배터리 전압이 충분한지 확인하세요.
- 코드가 잘 작동하지 않아요:
- 코드가 제대로 업로드되었는지 확인하세요.
- 마이크로비트를 재부팅해보세요.
