직접 만드는 아두이노 다마고치: 디지털 펫 DIY 프로젝트
부품 및 소모품
필요한 도구
앱 및 온라인 서비스
프로젝트 소개
전 세계 7,600만 대 이상 판매된 90년대 최고의 인기 장난감 '다마고치'를 아두이노로 직접 만들어봅니다. 0.96인치 OLED 디스플레이에 작은 공룡이 나타나고, 배고픔/행복/훈련도 게이지를 관리하며 먹이 주기, 놀아주기, 병원 데려가기 등 다양한 상호작용이 가능합니다.
이 프로젝트는 세르비아의 개발자 알로이즈(Alojz)가 개발했으며, 코드·회로도·3D 프린팅 케이스 파일까지 모두 오픈소스로 공개했습니다. 프로젝트 페이지에서 모든 자료를 다운로드할 수 있습니다. 코드만 봐도 훌륭한 학습 자료가 됩니다.
1단계: 부품 준비
전자 부품 (약 $15)
- 아두이노 프로 미니
- I2C OLED 디스플레이 (0.96", 128x64, SSD1306)
- 푸시 버튼 3개
- 소형 스피커 또는 부저
- 슬라이드 스위치
- 리튬 폴리머 배터리 충전 보드 (TP4056 등)
- 150mAh 리튬 폴리머 배터리
- 10kΩ 저항 1개
- 7x5cm 만능 기판
- FTDI 프로그래머 (업로드용)
- 전선 몇 가닥
3D 프린팅 케이스용 (약 $5)
- 우드 필라멘트 2종 (자작나무, 코코넛 색상)
- 약 70g 소요, 3시간 내외 출력
총 비용 약 $20 (약 2만 6천 원)
2단계: 0.96" OLED 디스플레이
I2C 인터페이스를 사용해 VCC, GND 외에 SDA, SCL 두 선만 연결하면 됩니다. 전력 소모가 10-20mA로 낮고, 아다프루트(Adafruit) 라이브러리 지원이 훌륭해 초보자도 쉽게 사용할 수 있습니다.
3단계: 회로 구성
메인 회로
만능 기판에 부품을 배치하고 회로도에 따라 납땜합니다. 처음 만능 기판을 써보았는데 예상보다 수월하게 1시간 만에 완료했습니다. FTDI 프로그래머로 코드 업로드 후 정상 동작 확인.
배터리 회로
TP4056 충전 보드의 기본 충전 전류는 1000mA인데, 150mAh 배터리에는 과전류입니다. 보드상의 전류 설정 저항을 10kΩ로 교체해 충전 전류를 약 130mA로 낮췄습니다. 리튬 배터리에는 핫글루를 절대 사용하지 마세요. 화재 위험이 있습니다.
4단계: 3D 프린팅 케이스 출력
퓨전 360(Fusion 360)으로 설계한 5파츠 케이스(바닥, 덮개, 버튼 3개)를 출력합니다. 우드 필라멘트 특유의 질감과 색감이 매력적입니다. 싱기버스에서 STL 파일 다운로드
5단계: 후가공 (샌딩 & 바니시)
고운 사포로 표면을 다듬고 우드 바니시를 칠해 24시간 건조시킵니다. 이 과정이 완성도를 크게 높여줍니다. 절대 생략하지 마세요!
6단계: 조립
기판과 충전 보드, 스위치를 케이스에 고정하고 배터리를 연결합니다. 버튼을 달고 덮개를 닫으면 '타마구이노(Tamaguino)' 완성! 150mAh 배터리로 7시간 이상 구동되며, 1시간 만에 완충됩니다.
7단계: 코드 분석
약 1,300줄, 프로그램 메모리의 95%를 사용합니다. 아다프루트 GFX 라이브러리와 SSD1306 라이브러리가 필요합니다. 내부 풀업 저항을 이용해 외부 저항 없이 버튼을 구현했습니다. 아두이노 프로 미니의 한계까지 끌어낸 인상적인 코드입니다.
8단계: 마무리 및 개선 아이디어
첫 만능 기판 작업, 첫 리튬 배터리 프로젝트, 첫 케이스 설계 등 배움이 컸습니다. 다만 1인치 디스플레이가 케이스에 비해 작아 2.4인치 디스플레이로 교체해 '아두이노 게임기'로 발전시키고 싶습니다. 여러분의 개선 아이디어도 댓글로 공유해 주세요!