얼굴 로봇 프로젝트 with 마이크로비트(서식없음)

웹캠으로 내 얼굴을 인식하면, 카드보드 로봇이 고개를 돌리고 눈을 깜빡이고 입을 움직여요. 마이크로비트와 서보모터 5개로 만드는 ‘표정 짓는 로봇’ 프로젝트입니다. 제작 시간은 약 2시간, 난이도는 ‘상’이에요.

한눈에 보기

만들면서 필요할 때마다 아래 링크를 눌러 사용하세요.

로봇이 할 수 있는 움직임

  • YAW — 고개 좌우로 돌리기 ↔️
  • PITCH — 고개 위아래로 끄덕이기 ↕️
  • MOUTH — 입(턱) 벌리기 😮
  • RIGHT / LEFT EYE — 양쪽 눈 깜빡이기 😉

1단계 · 설계도 출력하고 자르기

먼저 설계도를 다운로드해 인쇄하고, 카드보드(B골 2~3mm)에 붙인 다음 부품을 하나씩 오려냅니다.

👉 설계도 PDF 다운로드하기

✂️ 선 색깔이 다른 이유

검정색 선은 자르는 선, 파란색 선은 접는 선이에요. 접는 선은 칼로 살짝 칼집(반칼)을 내어주면 훨씬 깔끔하게 접혀요. 이게 포인트!

🖼️ 아래에 설계도 부품 배치도 사진을 넣어주세요 (EYES / UPPER JAW / LOWER JAW / TOP OF HEAD / NOSE / EYE LIDS 등).

나만의 디자인으로 바꾸고 싶다면?

정해진 모양 말고 직접 디자인하고 싶다면 KRAF Studio 채널에서 다양한 카드보드 설계도를 찾아볼 수 있어요. 원하는 모양을 골라 창의적으로 꾸며보세요.


2단계 · 하드웨어 조립하기

부품을 다 잘랐다면 이제 본격 조립! 자르는 것만큼 조립도 만만치 않지만… 도전해봐요. 💪

⚠️ 가장 중요한 규칙: “90도 정렬”

서보모터를 카드보드에 연결하기 전에, 반드시 서보의 검은색 날개를 90도(가운데)로 맞춰 놓고 조립하세요. 0도나 180도로 치우치면 눈·입·목의 움직이는 범위가 너무 좁아져요. (90도 정렬 방법 보기)

조립 순서

  1. 양쪽 눈 조립하기 — 좌우 눈 부품을 각각 만들어 둡니다.
  2. 눈 주변 조립 (★ 90도 정렬) — 눈 서보를 정확히 90도에 맞춰야 나중에 눈을 잘 감았다 뜰 수 있어요.
  3. 턱(입) 부분 조립 (★ 90도 정렬) — 입도 서보를 90도 정렬한 뒤 이어서 조립합니다.
  4. 눈과 턱 연결 — 만들어 둔 눈 부분과 턱 부분을 합쳐줍니다.
  5. 머리 윗부분(이마) 연결 — 머리 상단을 덮어 얼굴 형태를 잡아요.
  6. 코 부분 연결 — 코 부품을 붙여 얼굴 가운데를 완성합니다.
  7. 입 연결하기 — 아래턱(입) 부품을 결합합니다.
  8. 입과 얼굴 연결 — 턱이 부드럽게 벌어지도록 본체와 연결해요.
  9. 눈동자 붙이기 — 눈동자를 붙이면 표정이 살아나요. 👀
  10. 목 부분 조립 (★ 90도 정렬) — 고개를 좌우·상하로 움직이는 목도 90도 정렬이 중요해요.
  11. 받침대에 연결해 완성 — 받침대에 목을 연결하고, 마지막으로 건전지로 무게중심까지 맞추면 완성! 🎉

📸 아래에 조립 과정 사진을 단계별로 넣어주세요 (눈 → 턱 → 이마 → 코 → 입 → 목 → 받침대 순서).


3단계 · 마이크로비트 코드 올리기

조립이 끝났으면 서보모터를 S1~S5에 연결하고, 마이크로비트에 코드를 올린 뒤 잘 움직이는지 테스트해요.

① 먼저 DF-Driver 확장 설치

이 프로젝트는 서보 5개를 연결·전원 공급하기 위해 DFRobot 모터 드라이버를 사용해요.

② 서보 90도 조정 코드

조립할 때 서보를 90도로 맞추기 위한 기본 코드예요. A/B 버튼으로 각도를 조절하며 정렬할 수 있어요. 👉 서보 90도 조정 코드 열기

③ 얼굴 추적 코드 올리기

아래 코드를 마이크로비트에 올리면 얼굴 인식 웹앱과 통신해 로봇이 움직여요. 👉 얼굴 추적 코드 열기

④ 서보모터 연결 위치 (S1 ~ S5)

역할테스트 각도
S1목 좌우 (Yaw)50 ~ 140도
S2목 상하 (Pitch)0 ~ 55도
S3입 / 턱 (Mouth)50 ~ 130도
S4오른쪽 눈180 ~ 50도
S5왼쪽 눈50 ~ 120도

🛠️ 움직임이 어색하다면? (보정하기)

서보는 조립 상태마다 조금씩 다르게 동작해요. 원하는 만큼 움직이지 않으면, 마이크로비트 코드에서 해당 핀의 각도 범위 숫자를 직접 바꿔가며 가장 자연스러운 값을 찾아주세요. (예: S1의 50~140 값을 조금씩 수정)

🖼️ 아래에 S1~S5 서보 연결 사진과 코드 화면 캡처를 넣어주세요.


4단계 · 얼굴 인식 웹앱 실행하기

웹캠이 켜진 컴퓨터에서 웹앱을 열고 마이크로비트와 연결하면 끝! 화면 속 내 얼굴을 따라 로봇이 움직여요.

💡 연결 순서

① 서보 5개를 S1~S5에 모두 연결 → ② 웹앱 열기 → ③ “micro:bit 연결” 버튼 클릭 → ④ 각 모터가 잘 동작하는지 확인


보너스 · 웹앱 직접 만들어보기

앱을 그냥 쓰는 것에서 한 발 더! VS Code의 Live Server로 얼굴 추적 코드를 직접 실행해볼 수 있어요.

  1. VS Code 설치code.visualstudio.com에서 설치
  2. 프로젝트 폴더 만들기 — 폴더 안에 index.html 파일과 models 폴더를 넣어요.
  3. Live Server 확장 설치 — 확장(Ctrl+Shift+X) → “Live Server” 검색 → Ritwick Dey 확장 설치
  4. 실행 — index.html을 열고 우측 하단 “Go Live” 클릭 (http://127.0.0.1:5500)

폴더 구성

프로젝트폴더/
├── index.html
└── models/
    ├── tiny_face_detector_model-weights_manifest.json
    ├── tiny_face_detector_model-shard1
    ├── face_landmark_68_model-weights_manifest.json
    └── face_landmark_68_model-shard1

※ 얼굴 인식 라이브러리는 face-api.js 또는 MediaPipe를 사용해요. 전체 코드는 별도 글에서 다룰게요.


필요한 재료 목록

번호품명수량
1마이크로비트 V2.211개
2모터 드라이버 (DFRobot)1개
3마이크로비트 어댑터 (ring:bit V2)1개
4마이크로 서보 MG90s4개
5표준 서보 MG9951개
63핀 점퍼 케이블5개
7M3 너트·볼트 (12mm)여러 개
8긴 볼트 (30mm 이상)2개
9M3 와셔여러 개
10더블클립(종이클립)3개
11박스지 (B골 2~3mm)적당량
12건전지 (무게중심용)약간

추가로 필요한 도구

자, 가위, 칼, 드라이버, 고무줄, 풀/글루건


완성!

이제 여러분만의 표정 짓는 로봇이 완성됐어요. 카메라 앞에서 고개를 돌려보고, 눈을 깜빡여보고, 입을 벌려보세요. 로봇이 똑같이 따라 한다면 성공! 🎉

움직임이 어색하면 코드의 각도 값을 조금씩 바꿔가며 나만의 최적값을 찾는 게 이 프로젝트의 진짜 재미예요. 친구들과 누구 로봇이 더 자연스러운지 겨뤄보는 것도 추천!