본문 바로가기
메이커 프로젝트

마이크로비트 + 서보모터 + 블루투스까지 (with 얼굴 로봇 만들기)

by 올리브테라스 2026. 5. 4.
반응형

https://makecode.microbit.org/S91291-02345-90749-25095

마이크로보드에는 서보모터를 바로 꽂을 수 있는 전용 핀인 P1 ~ P16이 있습니다. 서보모터의 선은 3가닥으로 되어 있는데, 보드의 핀 색상이나 기호(+, -, S)에 맞춰 선을 정확히 꽂아야 합니다.

  • [-] GND (그라운드): 검은색 또는 갈색 선 (주로 보드의 검은색 핀)
  • [+] VCC (전원): 빨간색 선 (주로 보드의 빨간색 핀)
  • [S] Signal (신호): 노란색, 주황색 또는 흰색 선 (주로 보드의 초록색/파란색 핀)

 

 

0. DF드라이버 설치방법

이 보드는 I2C라는 통신 방식을 사용하기 때문에, MakeCode의 기본 [서보] 블록이나 기존에 쓰시던 P0 에 서보 값 출력 블록으로는 S1~S8 핀에 연결된 모터를 제어할 수 없습니다. 반드시 DFRobot 전용 블록을 추가해야 합니다.

 

 

설치 및 사용 방법:

  1. MakeCode 화면 왼쪽 메뉴 맨 아래의 [고급] - **[확장]**을 클릭합니다.
  2. 검색창에 다음 공식 라이브러리 주소를 복사하여 붙여넣고 검색(돋보기 또는 엔터)을 누릅니다. https://github.com/DFRobot/pxt-motor
  3. 검색 결과로 나오는 'motor' 꾸러미를 클릭하여 추가합니다.
  4. 이제 메뉴에 새로 생긴 [Motor] 카테고리를 눌러보면 전용 블록들이 나옵니다. 기존 블록 대신 Servo S1 degree [90] 과 같은 전용 블록을 꺼내어 코딩을 진행하시면 됩니다.

 

 

1. 서보모터

1-1. A, B 버튼 누를 때

https://makecode.microbit.org/S91291-02345-90749-25095

 

서보모터(A, B)

Made with ❤️ in Microsoft MakeCode for micro:bit.

makecode.microbit.org

 

 

 

1-2. A+B 버튼 누를 때 서보모터가 90도 정렬

https://makecode.microbit.org/S78841-77694-51788-27762

 

서보모터(A, B, A+B(90도)

Made with ❤️ in Microsoft MakeCode for micro:bit.

makecode.microbit.org

 

 

 

 

 

1-3. A, B 버튼 누를 때 서보모터가 10도씩!! 

지금 만드신 0도, 90도, 180도 블록만으로도 모터를 제어하는 데는 충분해 보이죠. 하지만 여기서 굳이 '변수'를 도입해 10도씩 움직이게 하는 이유는 코딩과 로봇 제어의 핵심 원리를 깨우치게 하기 위해서입니다.

그 구체적인 이유는 다음과 같습니다.

1. '절대 위치'에서 '상대적인 움직임'으로의 생각 확장

  • 현재 방식 (절대 위치): "무조건 90도로 가!"라고 명령하는 방식입니다. 로봇이 현재 어디에 있든 상관없이 정해진 곳으로만 갑니다.
  • 10도씩 조절 (상대적인 움직임): "지금 있는 위치에서 10도만 더 움직여!"라는 방식입니다. 로봇 팔이나 크레인을 목표물에 정확히 맞추기 위해 미세하게 조종(Fine-tuning)할 때 반드시 필요한 개념입니다.

2. '변수'의 진짜 쓸모(기억과 연산) 깨닫기

  • 정해진 숫자(0, 90, 180)만 입력할 때는 마이크로비트가 무언가를 '기억'할 필요가 없습니다.
  • 하지만 10도씩 움직이려면 컴퓨터는 "지금 모터가 몇 도에 있지?"를 반드시 기억해야 하고, 거기에 +10이나 -10을 '계산'해야 합니다. 학생들은 이 과정을 통해 "아, 변수라는 상자가 이전 값을 기억하고 계산하기 위해 꼭 필요한 거구나!"라고 스스로 깨닫게 됩니다.

3. 실생활 기기와의 연결 (UI/UX 이해)

  • TV 리모컨 비유: 학생들에게 "TV 볼륨 리모컨에 [음소거(0)], [보통(50)], [최대(100)] 딱 3개 버튼만 있으면 어떨까?"라고 물어보세요. 아마 세밀하게 소리를 맞출 수 없어서 답답하다고 할 것입니다.

우리가 쓰는 리모컨의 [+] [-] 버튼이 바로 이 '변수를 10씩, 1씩 바꾸는 원리'라는 것을 알려주면 학생들의 흥미와 이해도가 확 올라갑니다.

 

https://makecode.microbit.org/S72388-72736-91678-22780

 

서보모터(A, B버튼 10도씩 증가 감소)

Made with ❤️ in Microsoft MakeCode for micro:bit.

makecode.microbit.org

 

 

 

2. 데이터(예: 123456789012345678)를 의미 있는 조각으로 자르는 방법

1. 왼쪽 메뉴 [고급] ➡️ [시리얼 통신] 카테고리를 클릭

 

 

 

[변수] 카테고리 -> 변수 만들기 버튼을 누르고, 이름을 비밀코드라고 적고 확인

 

 

[비밀코드] 에 [0] 저장 이라는 블록 -> 시리얼 통신: 줄 바꿈 문자(\n) 입력되면 실행 블록 안으로 쏙 집어넣습니다.

 

 

 

왼쪽 메뉴 [고급] ➡️ [시리얼 통신] 카테고리

 

 

 

눈각도, 입각도 변수 추가 

 

 

 

 

 

 

 

이렇게 함!! 

 

 

 

마지막으로 텍스트를 수로 변환 

 

 

 

서보모터에 연결해서 두개 서보모터를 제어에 보는 코드 완성!! 

 

 

 

2-2. 숨겨진 '콘솔창' 띄우고 데이터 전송하기

1단계: 노트북과 완벽하게 연결하기 (장치 연결) 단순히 USB 선만 꽂는 게 아니라, MakeCode 사이트와 마이크로비트를 동기화해야 합니다.

  1. 화면 왼쪽 아래에 있는 커다란 보라색 [다운로드] 버튼 옆의 점 3개(···)를 클릭합니다.
  2. 메뉴에서 [장치 연결]을 클릭합니다.
  3. 팝업창이 뜨면 안내에 따라 'BBC micro:bit'를 선택하고 [연결]을 누릅니다.
  4. 연결이 완료되면 다시 [다운로드] 버튼을 눌러 지금 짠 코드를 마이크로비트에 집어넣습니다.

2단계: '콘솔 표시 장치' 버튼 찾기

  1. 코드가 성공적으로 다운로드되고 나면, 화면 왼쪽의 마이크로비트 그림(시뮬레이터) 바로 아래를 보세요.
  2. 아까는 없었던 보라색 띠 모양의 콘솔 표시 장치 (또는 Show console Device) 버튼이 짠! 하고 나타나 있을 겁니다. 이 버튼을 클릭합니다.

3단계: 9045 전송하기

  1. 버튼을 누르면 화면이 시커먼 데이터 그래프 화면으로 바뀝니다. 여기가 바로 콘솔창입니다.
  2. 화면 맨 아래쪽을 보면 글자를 입력할 수 있는 파란색 긴 줄(입력창)이 있습니다.
  3. 그곳을 마우스로 클릭하고 9045라고 타이핑합니다.
  4. 키보드의 엔터(Enter) 키를 누르거나, 입력창 오른쪽 끝에 있는 종이비행기(전송) 아이콘을 누릅니다.
  5. 마이크로비트에 연결된 서보모터가 90도, 45도로 움직이는지 확인합니다!
반응형