IMU 센서로 3D 모션 시각화하기 – 실전 가이드 (MPU-6050)
부품 및 소모품
| 부품 | 수량 |
| 아두이노 우노 (Arduino UNO) | 1 |
| 관성 측정 장치 IMU (6자유도, MPU-6050) | 1 |
| 점퍼 와이어 (일반) | 1 |
앱 및 온라인 서비스
- 아두이노 IDE (Arduino IDE)
- Processing IDE
프로젝트 소개
MPU-6050 센서란?
MPU-6050은 3축 자이로스코프와 3축 가속도계를 단일 실리콘 다이에 통합하고, 온보드 디지털 모션 프로세서(DMP)로 복잡한 6축 모션퓨전(MotionFusion) 알고리즘을 처리합니다. 이것이 6DOF(6자유도)의 의미입니다.
하드웨어 연결 및 회로도는 이전 블로그 글 참조: IMU 6DOF 모션 센서 시작하기
Processing IDE로 3D 시각화
Processing IDE는 아두이노 IDE와 매우 유사합니다. 별도 설치 후 Toxiclibs (toxiclibs-complete-0020) 라이브러리가 필요합니다. GitHub에서 다운로드해 Processing의 libraries 폴더에 압축 해제 (폴더 없으면 생성).
아두이노 코드 수정
MPU6050_DMP6 예제 코드에서 다음 변경:
#define OUTPUT_READABLE_YAWPITCHROLL → 주석 처리
//#define OUTPUT_TEAPOT → 주석 해제
Processing 스케치 설정
파일 → 열기 → MPU6050 라이브러리 폴더 → Examples → MPU6050_DMP6 → Processing → MPUTeapot
시리얼 포트 설정:
- Linux/Mac:
String portName = "/dev/ttyUSB1";
- Windows: 위 줄 주석 처리 후
String portName = "COM15";로 변경 (아두이노 연결된 COM 포트 확인)
실행 순서
- 아두이노 코드(MPU6050_DMP6) 업로드 (시리얼 모니터 열지 말 것!)
- Processing에서 MPUTeapot 실행 (재생 버튼)
- 약 10~12초 대기 후 센서 값 안정화
- 작은 비행기 형태의 3D 모델이 센서 움직임에 따라 실시간 회전
GIF 애니메이션과 유튜브 영상으로 결과 확인 가능.
다음 튜토리얼에서는 커스텀 비행 시뮬레이터 계기판 제작을 다룹니다.
코드
전체 프로젝트 코드: GitHub에서 다운로드 (폴더 다운로드 후 튜토리얼 지침 따름)
회로도
이전 블로그 포스트의 단계별 튜토리얼 참조. 회로도 이미지 제공.