SpresenseでLチカから始める (20) Wireライブラリ 距離RFD77402
最近の距離を測るセンサは、LEDやレーザーによる赤外線を被写体に当て、反射光が戻っている時間を測定して距離を求めるTOF(time-of-flight)方式が増えています。RF DigitalのRFD77402は、最大約2mまでを計測できます。
SparkFunの製品をスイッチサイエンスから入手しました。
●RFD77402のおもな特徴
- 直接ビーム内をルーペで見ても問題の起こらないclass1のレーザー(850nm)
- 動作電圧 2.7~3.3 V
- 電流 7mA、スタンバイ時9.7uA
- インターフェース I2C(最大1MHz)
- スレーブ・アドレス 0x4c
- 測定距離 200cm
- 確度 白色室内50~100mm時;±15%、100~2000mm時;±7%、灰色室内50~100mm時;±15%、100~1500mm時;±7%、1500~2000mm時;±10%。
●接続
電源3V3端子は3.3Vにつなぎます。INT端子は1.8V対応の負論理信号です。今回使用していません。基板上ではSCL/SDA信号は3.3Vへ4.7kΩの抵抗でプルアップされています。Spresenseの1kΩと並列に入りますが、そのままにしました。基板上のPU部分のはんだを取り除けばプルアップは無効になるようです。
●スケッチ
データシートを読むと、レジスタ類は複雑でないのでWireライブラリを使ってスケッチを書けそうですが、SparkFunのArduino用のライブラリを利用します。Arduino IDEは1.8.7を使っています。メイン・メニューのツールからライブラリ管理を選択します。
検索の欄に「RFD77402」を入れ、SparkFunのライブラリを選択してインストールします。
サンプル・スケッチ例からExample1-BasicReadingsを選択します。
そのまま実行します。巻き尺でLCDディスプレイの白地を表示しているエリアから40cmの位置に、センサを手で保持したときの結果です。