산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

6자유도 IMU 모션 센서(MPU-6050) 입문 가이드

부품 및 소모품

아두이노 우노 1개
IMU 센서 모듈 (6자유도, MPU-6050 기반) 1개

프로젝트 소개

오늘은 가장 대중적인 IMU(관성 측정 장치) 센서인 MPU-6050을 아두이노와 연결하는 방법을 배웁니다. 다음 튜토리얼에서는 3D로 모션을 시각화해 보겠습니다.

MPU-6050은 3축 자이로스코프와 3축 가속도계를 단일 실리콘 다이에 통합했으며, 온보드 DMP(Digital Motion Processor™)로 복잡한 6축 MotionFusion 알고리즘을 처리합니다. 스마트폰, 태블릿, 웨어러블 기기의 저전력·저비용·고성능 요구사항을 충족하도록 설계되었습니다.

6자유도 IMU 모션 센서(MPU-6050) 입문 가이드

필요 물품

하드웨어:

6자유도 IMU 모션 센서(MPU-6050) 입문 가이드

소프트웨어: 아두이노 IDE

통신 프로토콜: I2C 버스 프로토콜로 아두이노와 통신합니다.

가속도계와 자이로스코프를 별도로 쓸 수도 있지만, 이 결합 모듈만큼 정확하지는 않습니다.

6자유도 IMU 모션 센서(MPU-6050) 입문 가이드

배선도 및 연결 프로필

아래 두 그림 중 하나를 참고해 배선하세요.

6자유도 IMU 모션 센서(MPU-6050) 입문 가이드
6자유도 IMU 모션 센서(MPU-6050) 입문 가이드

잘 이해 안 되면 아래 핀 연결표를 보세요:

6자유도 IMU 모션 센서(MPU-6050) 입문 가이드
6자유도 IMU 모션 센서(MPU-6050) 입문 가이드

라이브러리 설치 및 예제 실행

  1. MPU6050 라이브러리 다운로드 (MPU6050.zip) → 압축 해제 후 'MPU6050' 폴더를 아두이노 libraries 폴더에 복사
  2. I2Cdev 라이브러리 다운로드 (I2Cdev.zip) → 동일하게 libraries 폴더에 복사
  3. 아두이노 IDE 재시작 후 파일 → 예제 → MPU6050 → Examples → MPU6050_DMP6 열기
  4. 스케치 상단에 #include "I2Cdev.h"와 #include "MPU6050_6Axis_MotionApps20.h" 포함 확인
  5. 컴파일 후 업로드
  6. 시리얼 모니터 열기 (Ctrl+Shift+M), 보드레이트 115200으로 설정 (8MHz 이하 프로세서는 38400 이하 권장)
  7. "Initializing I2C devices..." 메시지 안 뜨면 리셋 버튼 누르기
  8. "Send any character to begin DMP programming and demo:" 메시지에서 아무 키나 입력하면 DMP 데모 시작
6자유도 IMU 모션 센서(MPU-6050) 입문 가이드

지식 코너: DMP란?

DMP = Digital Motion Processing. MPU-6050 내장 모션 프로세서가 가속도계·자이로 데이터를 처리해 정확한 3D 값(요(Yaw), 피치(Pitch), 롤(Roll))을 출력합니다.

6자유도 IMU 모션 센서(MPU-6050) 입문 가이드

지식 코너: I2C란?

I2C(Inter-Integrated Circuit)는 2개의 양방향 활성 라인(SDA: 직렬 데이터, SCL: 직렬 클록)과 그라운드로 구성된 멀티 마스터 버스입니다. 버스에 연결된 각 디바이스는 고유 주소를 가지며, 마스터(여기선 아두이노)가 통신을 시작하고 슬레이브(MPU-6050)가 응답합니다.

다음 단계

다음 튜토리얼에서 3D 모션 시각화를 다룹니다.

6자유도 IMU 모션 센서(MPU-6050) 입문 가이드

코드

Arduino code for MPU sensor (아두이노)

DMP 예제 코드 (MPU6050_DMP6) – 요/피치/롤 출력을 위해 OUTPUT_READABLE_YAWPITCHROLL 정의 활성화됨

// I2Cdev and MPU6050 must be installed as libraries
#include "I2Cdev.h"
#include "MPU6050_6Axis_MotionApps20.h"
#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE
#include "Wire.h"
#endif

MPU6050 mpu; // 기본 I2C 주소 0x68 (AD0=LOW)
// MPU6050 mpu(0x69); // AD0=HIGH일 때 사용

// ... (인터럽트 핀 설정, DMP 초기화, FIFO 읽기, 쿼터니언/오일러/요피치롤 출력 등 전체 코드는 원문 참조)
// 주요 설정: 자이로 오프셋 보정, DMP 활성화, 외부 인터럽트 0번(핀 2) 사용
// 루프에서 mpuInterrupt 대기 → FIFO 패킷 읽기 → dmpGetYawPitchRoll로 ypr[] 계산 → 시리얼 출력
// LED 깜빡임으로 활동 표시

전체 코드는 원문의 Code 섹션 또는 아두이노 IDE 예제(MPU6050_DMP6)에서 확인하세요.

회로도

6자유도 IMU 모션 센서(MPU-6050) 입문 가이드

제조공정

  1. 라즈베리 파이와 KY-033 라인 트래킹 센서로 문 열림/선 감지하기
  2. 라즈베리 파이에서 GY-91 모듈로 견고한 온도 및 센서 API 구축하기
  3. 라즈베리 파이에서 PIR 모션 센서로 LED 제어하기
  4. 라즈베리 파이 GPIO 마스터하기: B+/모델 2에서 PIR 모션 센서 인터페이싱
  5. HC-SR501 PIR 모션 센서를 라즈베리파이에 연결, 보정, 프로그래밍하는 방법
  6. TJBot 시작하기: 나만의 AI 로봇 제작, 설정, 음성 제어
  7. 라즈베리 파이 3에 RAK 831 LoRa 게이트웨이 배포 단계별 가이드
  8. 라즈베리 파이 3에 RAK831 모듈로 LoRa 게이트웨이 구축하기 - 단계별 가이드
  9. 보험업계 AI: 실전 구현을 위한 실용적 스타터 가이드
  10. 아두이노 입문 튜토리얼 01: 첫 프로젝트 시작하기