2018年4月17日火曜日

I2C接続メモ

I2Cの接続についてメモ

1.プルアップ電圧
低いものに合わせる。
ArduinoUNO                      5V
ArduinoMICRO(Leonardo) 5V
LaspberryPI  (1,2,3)          3.3V
GY-521 (6軸ジャイロ)        3.3V
AE-BME280(気象センサ) 3.3V (マニュアルでは Typ1.8V~Max3.6V)
なので基本的にI2Cバスは3.3Vを使用する。

2.プルアップ抵抗
Laspberry PIにはプルアップ抵抗1.8kが入っているが
Arduinoには入っていない。
6軸ジャイロには2.2kが入っている
AE-BME280は4.8kがJ2,J3がデフォルトで切断されている

〇問題なく接続できる組み合わせ
LaspberryPI  ---  AE-BME280(J2, J3はオープン)

〇プルアップとかで迷う組み合わせ
Arduino  ----  GY-521  
ジャイロのVcc は3.3V推奨 (たぶん5VでもOK。)プルアップはGY-521側に入っているので、ArduinoのIOはオープンコレクタに設定。
LaspberryPI  --- GY-521
マスタースレーブ両側にプルアップが入るが、おそらく問題ないと思う。
この場合のプルアップ抵抗はおよそ1k

Arduino  ----  AE-BME280
センサの電源は3.3Vに接続。J2、J3に半田を盛るとOKだが、あとでLaspPIにも使いたい場合、外部にプルアップ抵抗4.7kを接続。3.3Vにプルアップ。

3.レベルシフタは必要?
上記の組み合わせでは不要。必要な状況が今のところ思いつかない。

5V-3V3混載で気を付けるべきは、プルアップ先が3.3Vになっていれば、問題ないと思われる。(今のところ問題はおきていない)
ただし、5V側のIOの設定には注意する。(必ずオープンコレクタ出力にしておく)

0 件のコメント:

コメントを投稿