水位計をこれまでいろいろと作ってきましたが,TF Mini Plusという距離センサが防水でよいらしいとの情報を得たため,これを使った水位計を設計し始めました.ベースとなる水位計は基本的に踏襲しながら,距離センサと電源周りを変更しました.変更点を下に記しておきます.

  • 距離センサ: VL53L1XからTF Mini Plusへ
  • 電源: 単2電池1.5[V]×3=4.5[V]から単3電池1.5×4=6[V]へ
  • RTCの電圧: 3[V]から1.8[V]へ

電源電圧を上げたのは使用する距離センサの動作電圧の5[V]に合わせることと,これまでだましだまし使っていたカメラの動作電圧もついでに5[V]にするためです.それからRTCの電圧についても1.8[V]に落とすとともに,マイコンとの間でレベル変換をしっかりと入れるように変更しました.

さてここからが本題です.TF Mini Plusの取り扱い方法をまずは考えてみました.目標としてはこれまで使用していたVL53L1Xからの置き換えであるため,インタフェースはI2Cにしたいです.TF Min Plusのインタフェースは調歩同期通信とI2Cとなっていたことから,回路についてはI2CのSDAとSCLをマイコンとつないだ回路を作成し,すでに実装サービスの依頼済みです.もうじき届くはずです.ただまだよくわからなかったのは,調歩同期通信とI2Cの切り替え方法とか,I2Cでどうやって距離を得るのかとか,あまり考えずに上記のハードウェアの設計を済ましてしまいました.そろそろ実装済み基板が届くのでデータシートを読み始めました.そこで分かったこととしては以下のことです.

  • デフォルトのインタフェースは調歩同期通信である
  • I2Cにインタフェースを変えるには初期状態のときにいくつかのコマンドを使うこと
  • I2CではTF Mini Plusはスレーブとして動作すること

今,実機がないので動作させていたいこともありよくわからないこともあります.それを以下に示します.

  • 「初期状態」とは電源投入時なのか.つまり電源の入り切りによる再起動をすると再び調歩同期通信になってしまうのか.
  • もし上記のとおりだとすると,I2Cを用いる場合,いったんは調歩同期通信をせねばならない.もしそうでないとしたら,どうやってI2C下でコマンドを送るのかよくわからない.

いずれにしても,実機でいろいろと試さねばならなそうです.参考URLを下に書き残しておきます.