• 締切済み

MPU-9150のI2Cアドレス

MPU-9150のI2CアドレスをAD0=L/AD0=H、つまりGNDか3.3VCC接続に接続することによって、2つの異なる設定をしようとしています。ArduinoのスケッチでもMPU9150_I2C_ADDRESS = 0x68 か MPU9150_I2C_ADDRESS = 0x69に書き換えているのですが、AD0がGNDに繋げられ、MPU9150_I2C_ADDRESS = 0x68の時は正常に動くのですが、AD0が3.3VCCでMPU9150_I2C_ADDRESS = 0x69の際はMPU9150からデーターを受け取れません(常に全ての数値が0です)。どなたかこれに関する経験がございました、詳細を教えていただければ幸いです。よろしくお願いします。

みんなの回答

  • koujikuu
  • ベストアンサー率43% (429/993)
回答No.1

MPU-9150の経験はありませんが MPU-9150は複合デバイスの為I2Cアドレスが2っあります 加速度・ジャイロセンサ 0x68/0x69 AK8975磁気センサ 0x0C/0x0D https://strawberry-linux.com/pub/mpu-9150-manual.pdf 0x68 時に正常なら、プログラム側のI2Cアドレス設定ミスか、AD0の切り換えミスの可能性が高いと思われます I2Cアドレス切り換えには、AD0のGNDへのパターンカットを行い、VCCへのはんだジャンパが必要 テスタで導通チェック、通電してのAD0電圧チェックを行ってみて下さい。

leime_0420
質問者

補足

返事をありがとうございます。 ブレッドボードで試しているのですが、接続には問題ないようです。はんだジャンパがなく、直接AD0の接続を変えるだけのもの、ジャンパを外せばAD0次第になるもの(Sparkfun製品)などいろいろ試してみましたが全て結果は同じでした。 I2Cスキャンを同時にしても、AD0の接続次第でアドレスは確かに変わっているのですが、VCCに繋がっている時はMPU9150からのセンサーの数値が受け取れません。0x68と0x69を変える他に、AK8975磁気センサのアドレスをプログラム内で変える必要はあるのでしょうか?

関連するQ&A