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 件のコメント:
コメントを投稿