Sahara's WebLog

日記のような、備忘録のような、うらみつらみのような、自慢のような…。

Arduino Nano + VL53L0X × 2

1台のArduino Nano に複数の VL53L0X をつなぐ。
とりあえず2台。

モジュールにデバイス・アドレスを変更するようなピンが見当たらないのと、斜めに読んだデータシートに決め打ちでアドレスが書いてあったのとで、アドレスが変更できないと思い込んだ。
どうすんのさ、NANOにはI2Cは1組しかないからソフトウェアで実装するか?
そうなると既存ライブラリは使えないのか?
ってな具合に、勝手にどんどん脳内深みにはまっていった。

実際は、起動時のアドレスは固定だけど、起動後に変更できる。
なので、別のアドレスを指定して、同じI2C用のピンに接続した複数のセンサー・モジュールからデータを読み取ることが可能だ。

ライブラリはここ
https://github.com/pololu/vl53l0x-arduino
参考になるスケッチはここ
https://github.com/pololu/vl53l0x-arduino/issues/1#issuecomment-245160851

試用記事
Arduino Nano + VL53L0X

追記
VL53L0XはXSHUT=Highで起動、Lowで休止なので、1つだけ起動しておいて異なるAddressを設定する。
ピンのモードをINPUTにする意味が分からなかったが、センサーICは3.3V駆動なので、基板上のプルアップを利用してHighにし、Arduinoの電源電圧を掛けないようにするためらしい。
平気でHighにしたりしてたけど壊れなかったかな?

追記(2020/02/13)
スケッチは保存してあるから、人間が何してるコードか忘れててもNanoは書き込めば律義に動作を再現してくれる。
だが、配線は人がやらないといけなくて、案の定忘れてる。
2つとも以下の接続は共通。
VCC – 5V
GND – GND
SCL – A5
SDA – A4
GPIO1 – NC
XSHUTはそれぞれD4, D5に接続する。
このピンでアドレス設定時にどちらを対象にするかを決める。

このエントリーをはてなブックマークに追加

Posted under: Arduino


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.