Official Hobby Components Online Store | Buy Electronic Kits, Components, Boards, Shields, Modules

MPU-6050 GY-521이 읽히지 않나요? 흔한 I2C 문제 해결

MPU-6050 GY-521이 읽히지 않나요? 흔한 I2C 문제 해결

By Official Hobby Components Online Store | Buy Electronic Kits, Components, Boards, Shields, Modules | Published: 2026-10-15

Category: 팁 및 관리

I2C를 통해 데이터를 반환하지 않는 GY-521 MPU-6050를 디버깅하세요: 배선을 확인하고, I2C 스캐너를 실행하고, 주소 0x68를 확인하고, 3.3V 레벨 문제를 해결하세요.

빠른 답변

MPU-6050가 데이터를 반환하지 않으면 먼저 I2C 스캐너를 실행하여 주소가 0x68인지 확인하세요. 스캐너가 아무것도 찾지 못하면 SDA/SCL 배선과 전원을 확인한 다음 로직 레벨을 확인하세요. GY-521 모듈은 3.3V I2C를 기대하므로 5V Arduino를 사용할 경우 레벨 시프터나 3.3V로의 풀업이 필요합니다. 스캐너가 0x68를 감지하지만 읽기가 실패하면 문제는 보통 라이브러리 구성이나 풀업 누락입니다.

GY-521가 올바르게 배선되고 전원이 공급되는지 확인하세요

GY-521 브레이크아웃에는 VCC, GND, SDA, SCL의 네 가지 필수 핀이 있습니다. 보드에서 제공한다면 3.3V로 전원을 공급하세요. 모듈의 레귤레이터와 레벨 시프팅은 최소한이며, VCC에 5V를 가하면 MPU-6050가 손상될 수 있습니다. SDA를 마이크로컨트롤러의 SDA 핀에, SCL을 SCL에 연결하세요. Arduino Nano V3.0에서는 SDA가 A4이고 SCL이 A5입니다. WeMos D1 mini에서는 SDA가 D2이고 SCL이 D1입니다. 전선은 짧고 단단하게 유지하세요—느슨한 점퍼는 간헐적 읽기의 흔한 원인입니다.

Arduino Nano와 같은 5V 보드를 사용하는 경우, GY-521의 I2C 라인은 5V를 견디지 못합니다. 레벨 시프터를 사용하거나 모듈을 3.3V로 전원 공급하고 풀업이 5V가 아닌 3.3V로 연결되도록 해야 합니다. 많은 GY-521 보드에는 VCC로 연결되는 4.7k 풀업이 포함되어 있습니다. VCC가 5V이면 이러한 풀업으로 인해 SDA/SCL에서 MPU-6050이 5V에 노출됩니다. 모듈에 온보드 풀업 저항이 있는지 확인하고, 5V로 전원을 공급하는 경우 제거하는 것을 고려하세요. 다만 이는 섬세한 작업입니다.

  • GY-521은(는) 3.3V로 작동하며, 5V가 아닙니다.
  • Arduino Nano에서: SDA=A4, SCL=A5.
  • WeMos D1 mini에서: SDA=D2, SCL=D1.
  • 5V 보드에는 레벨 시프터를 사용하세요.

I2C 스캐너를 실행하여 센서가 응답하는지 확인하세요

I2C 스캐너 스케치는 모든 주소를 스캔하고 응답하는 모든 장치를 보고합니다. 표준 스캐너를 보드에 업로드하고 시리얼 모니터를 9600 또는 115200 보드레이트로 열고 0x68에서 장치를 찾으세요. MPU-6050의 기본 주소는 AD0가 로우일 때 0x68입니다. AD0를 하이로 풀업하면 주소는 0x69가 됩니다. 스캐너가 아무것도 찾지 못하면 문제는 배선, 전원 또는 풀업입니다. 0x68를 찾았지만 센서 라이브러리가 실패하면 문제는 코드나 라이브러리 설정에 있을 가능성이 큽니다.

스캐너가 0x68 를 표시하지만 여전히 데이터를 받지 못한다면, 사용 중인 라이브러리의 예제 스케치(예: Adafruit_MPU6050 또는 MPU6050_tockn)를 시도해 보세요. 올바른 begin() 함수를 호출했는지, 코드의 I2C 주소가 0x68 와 일치하는지 확인하세요. 일부 라이브러리는 기본적으로 0x68 를 사용하고, 다른 라이브러리는 직접 지정해야 합니다. 또한 버스가 여러 개인 보드에서 다른 I2C 버스(Wire vs Wire1)를 사용하고 있지 않은지도 확인하세요.

  • 스캐너가 0x68을(를) 찾았습니다. 배선과 전원은 정상입니다. 코드에 집중하세요.
  • 스캐너가 0x69을(를) 찾았습니다: AD0이(가) 높음; 코드에서 주소를 조정하세요.
  • 스캐너가 아무것도 찾지 못할 때: SDA/SCL, 전원, 풀업 저항을 확인하세요.

0x68 충돌 및 풀업 저항 문제 해결

스캐너가 0x68 를 감지했는데도 코드가 계속 실패한다면, 버스의 다른 장치가 같은 주소를 사용 중일 수 있습니다. 일부 OLED 디스플레이나 다른 센서와 같은 일반적인 I2C 장치도 0x68 에 있을 수 있습니다. 다른 I2C 장치를 분리하고 MPU-6050 를 단독으로 테스트하세요. 단독으로 작동하면 주소 충돌이 있는 것입니다. AD0 를 High로 풀업하여 MPU-6050 의 주소를 0x69 로 변경할 수 있지만, 이를 위해서는 여유 핀 또는 솔더 브리지가 필요합니다.

풀업 저항이 없거나 잘못되면 오류가 발생할 수 있습니다. GY-521는 일반적으로 VCC로 연결되는 4.7k 풀업을 포함합니다. 3.3V로 전원을 공급하면 해당 풀업은 3.3V 로직에 적합합니다. 레벨 시프터를 사용하는 경우 하이 측에 5V로 연결되는 풀업이, 로우 측에 3.3V로 연결되는 풀업이 있는지 확인하세요. 많은 레벨 시프터에 이러한 풀업이 포함되어 있습니다. 모듈의 풀업을 제거했거나 베어 MPU-6050 칩을 사용하는 경우, SDA와 SCL에서 3.3V로 연결되는 외부 4.7k 저항을 추가하세요.

  • 주소 충돌을 배제하려면 다른 I2C 장치의 연결을 해제하세요.
  • AD0을(를) 위로 끌어 주소를 0x69(으)로 변경합니다.
  • 모듈에 내장되어 있지 않다면 외부 4.7k 풀업 저항을 추가하세요.

멈추고 다른 접근 방식을 선택해야 할 때

배선, 전원, 주소, 풀업을 확인했는데도 스캐너가 아무것도 찾지 못한다면 모듈이 손상되었을 수 있습니다. MPU-6050는 과전압에 민감하므로 실수로 VCC 또는 SDA/SCL에 5V를 연결했다면 고장 났을 수 있습니다. 이 경우 GY-521를 교체하는 것이 가장 실용적인 방법입니다. 5V 시스템을 위한 더 견고한 솔루션이 필요하다면 WeMos D1 mini와 같은 3.3V 네이티브 마이크로컨트롤러를 고려해 보세요. 레벨 시프팅을 완전히 피할 수 있습니다. 정밀한 모션 추적이 필요한 프로젝트에서는 5V 내성을 내장한 고급 IMU가 디버깅 시간을 절약해 줄 수 있습니다.

  • 모든 검사가 실패하면 센서 손상을 의심하세요.
  • 레벨 시프팅을 피하려면 3.3V 보드를 고려하세요.
  • 고급 요구 사항의 경우 5V 허용 오차를 가진 IMU를 찾으세요.

진단 체크리스트

  • I2C 스캐너에서 장치를 찾을 수 없습니다: 전원(3.3V), SDA/SCL 연결 및 풀업 저항을 확인하세요. 모듈이 손상되지 않았는지 확인하세요. 배선과 전원이 올바르면 모듈을 교체하십시오.
  • 스캐너가 0x68을(를) 찾지만 라이브러리가 실패합니다: 라이브러리의 begin() 함수와 주소 설정을 확인하세요. 다른 라이브러리나 예제 스케치를 사용해 보세요. 코드가 올바르면 I2C 버스 속도 문제를 확인하세요. 100kHz를 시도해 보세요.
  • 간헐적이거나 노이즈가 있는 판독값: 배선을 짧게 하고, VCC와 GND 사이에 디커플링 커패시터(0.1uF)를 추가하며, 견고한 연결을 보장하세요. 노이즈가 계속되면 다른 센서나 차폐 케이블을 사용해 보세요.

제품 정보

  • GY-521 MPU-6050 모듈 3 축 자이로 + 3 축 가속도계 모듈: 칩: MPU-6050; 전원 공급: 3~5V; 통신 모드: 표준 IIC 통신 프로토콜; 칩 내장 16비트 AD 변환기. 3~5V 공급 범위는 종종 5V I2C 허용으로 잘못 해석됩니다; I2C 라인은 5V 허용이 아니므로 5V 마이크로컨트롤러를 사용할 때 레벨 시프트가 필요합니다.
  • Arduino 호환 Nano V3.0, 무료 USB 케이블 포함: ATmega328 기반의 Arduino 호환 Nano V3.0; DC 전원 잭 없음; Mini-B USB 케이블로 작동합니다. 이 5V 보드는 GY-521의 일반적인 호스트입니다. I2C 핀(A4/A5)은 5V 로직이므로 손상을 방지하려면 레벨 시프트를 하거나 센서에 3.3V 전원을 공급해야 합니다.
  • WeMos D1 미니 프로토타이핑 실드: WeMos D1 mini Prototyping Shield는 WeMos D1 mini 및 mini Pro용으로 설계되었습니다. 3세트의 헤더가 제공됩니다(납땜 필요). 적층이 가능합니다. WeMos D1 mini는 3.3V 보드이므로 레벨 시프터 없이 GY-521에 직접 연결할 수 있어 I2C 배선을 단순화하고 고장 지점을 줄입니다.

Shop Related Products

GY-521 MPU-6050 모듈 3축 자이로 + 3축 가속도계 모듈

GY-521 MPU-6050 모듈 3축 자이로 + 3축 가속도계 모듈

$1.16 $1.66

Shop Now
WeMos D1 mini Prototyping Shield

WeMos D1 mini Prototyping Shield

$0.88 $1.24

Shop Now
Arduino 호환 Nano V3.0 무료 USB 케이블 포함

Arduino 호환 Nano V3.0 무료 USB 케이블 포함

$5.02 $7.49

Shop Now