リーフを追加したら、I2Cセンサーが読めなくなりました
このページをAIに渡す
このページの内容
同じI2Cバス上のアドレスが重なっていないかを確認してみてください。単体では動いていても、追加したリーフと同じアドレスを使うと、それぞれを区別して通信できなくなる場合があります。
| 組み合わせ | 重複するアドレス |
|---|---|
| AI05の加速度センサーLIS2DW12と、AX06のI/Oエキスパンダ | 0x18 |
| AC08とAC09の制御用I/Oエキスパンダ | 0x21 |
アドレスは7ビット表記です。ほかの組み合わせもI2Cアドレスマップで照合できます。変更できるかどうかは部品と基板の実装によって異なるため、プログラムのアドレスだけを書き換える前に、各リーフの仕様を確認すると安心です。
重複がなければ、電源・信号電圧・ピンの競合・プルアップ抵抗も手がかりになります。たとえばAI05のR18・R19は未実装で、AP03との組み合わせではAP03側のプルアップを使います。
追加前の構成から切り分ける
すべての電源を外してから、次の順で構成を変更・確認します。
- 追加したリーフを外し、元のプログラムで試します。 元の構成でも読めない場合は、追加リーフだけが原因とは限らないため、電源・接点・配線・プログラムを確認します。
- リーフを1枚ずつ追加します。 読めなくなった組み合わせで、使用端子とI2Cアドレスを照合します。
- アドレスが重複していたら、まず片方だけを使います。 両方が必要な場合は、各デバイス・基板でアドレスを変更できるかを確認します。ソフトウェアの指定だけを変更しても、実際のデバイスのアドレスは変わりません。
接続条件の確認表はリーフの組み合わせにあります。
