FlightSense近接センサモジュールを試す

151124a4Strawberry Linexの新製品の VL6180Xセンサモジュールというのが何か凄い。反射光の返ってくる時間で距離を計測するセンサーで、分解能は1mm, 測定範囲は0~150mmだそうだ。インターフェースはI2C。

ロボコン部の学生に、使える場面もあるんじゃないと勧めていたら、欲しくなり買ってしまった。


サンプルプログラムが提供されていないので、データシートを読みながらテストプログラムを作り始める。I2C経由で、なんとかレジスタの読み書きができるようになったが、全然、距離とか測れている感じではない。

STmicroのサイトでドキュメントを探し、Application note AN4545を発見。これに初期化コードが掲載されていた。データシートに書かれていないレジスタに、いろんな値を設定する必要があるらしい。で、その初期化コードを組み込んだところ、それっぽい値を読み出せるようになった。

サンプルプログラムはここで公開。

ちょうどArduinoでSerial Plotterという機能が使えるようになったそうなので、デモの動画を作ってみた。画面をはっきり写したいし、センサ回りの指の動きも写したかったのでUSBカメラで撮影した映像を画面に表示し、他の画面といっしょにキャプチャーソフト(AG-デスクトップレコーダー)で動画を作成した。なかなか便利だ。

FlightSenseについては、まだ充分理解できていないが。最初、光の速度で計測するのでμSオーダで計測できるのかと思ったが、mSオーダの時間がかかるらしいい。あとALS (周辺光センサ)が付いているのだが、何に必要なのか、まだよく理解できない。ALSの値を適宜どこかに設定するとかしたほうがいいのだろうか。詳しい特性を今後しらべて行きたい。

ArduinoのSerial Plotterは勿論、便利だが、もおちょっと機能が欲しい。レンジの指定や、複数データの表示とか。まだ出たばかり、今後に期待しよう。

秋月のAPDS9960 ジェスチャーセンサーも、よく見ると距離が測れるとある。似たようなものなのかもしれない。とすると、こちらの方が安い。ということで、これも買ってしまった。

Comment

  1. mbed初心者 より:

    mbedでVL6180Xを動かすサンプルプログラムはないでしょうが。

  2. nari より:

    mbedのサンプルプログラムはありません。
    検索すると、https://developer.mbed.org/users/highroads/code/ とか見つかりますが、これではダメなのですか?

  3. mbed初心者 より:

    こちらをコンパイルしても動かないです。

  4. 初心者 より:

    公開して頂いているサンプルプログラムを使わせて頂き、ARDUINO UNOにて試したところ、シリアルモニタにて出力値が文字化けしてしまいます。手を近づけると文字化けしている文字が変わるので変位自体は取れていると思います。
    数値として出る様にしたいため、原因を探っていますが現状見つかりません。改善すべき点があればご教授頂きたいです。

nari へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。