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 の4つの必須ピンがあります。ボードが対応していれば 3.3 V で電源を供給してください。モジュールのレギュレータとレベルシフトは最小限であり、VCC に 5 V を加えると 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 と 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 に 5 V を接続した場合、故障している可能性があります。その場合は、GY-521 を交換するのが最も実用的な対処法です。5 V システム向けのより堅牢なソリューションが必要な場合は、WeMos D1 mini のような 3.3 V ネイティブのマイクロコントローラを検討してください。レベルシフトを完全に回避できます。精密なモーショントラッキングが必要なプロジェクトでは、5 V 耐性を内蔵したハイエンド 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配線を簡素化し、故障ポイントを減らします。


