[PR]
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
VL6180X試食
2016.03.05 Saturday 02:09 | ロボット/電子工作
ストロベリーリナックスで買えるVL6180X。
https://strawberry-linux.com/catalog/items?code=16180
測距センサですね。
よくあるSharpの奴とは違って、光が跳ね返ってくるまでの時間を計るタイプです。
なので物体の反射率とか形状に影響を受けにくいとかなんとか
I2C面倒だなーと思いながら簡単に実装してみました。
でも何故か110mm程引いたされた値で取得されちゃいます(´・ω・`)
→アプリケーションノートのオススメ設定を試したらちゃんと計測できました(2016/03/15追記)
ひとまずやり方↓
【使い方(暫定版)】
I2C通信フォーマット
[I2Cアドレス(0x29)][レジスタ上位アドレス][レジスタ下位アドレス][データ][データ][…
送受信ともにこんな感じ。
詳細
1, 計測間隔を設定する
I2Cで0x00, 0x1B, 0x04を送る。
3バイト目で間隔を設定している。10msなら0x00, 20msなら0x01, …, 50msなら0x04
2, 連続計測モードにする
I2Cで0x00, 0x18, 0x03を送る
3, 計測結果を読む
I2Cで0x00, 0x62を送って1バイト受信
これでmm単位の値が取れます。
あと気になるのはI2Cアドレス書き換えられるかだけど、0x0212に7bitの新アドレスを書けば良いみたい。でも電源切ったら忘れちゃうみたい?意味ない!!!!???
GPIO-0が起動時にCEな機能を持つこととGPIO-1を組み合わせて使えないかかんがえちゅー
アプリケーションノートの初期化コードで、データシートに載ってないレジスタいじってるから何か隠されてるようだ。。。
-----------------------
2016/04/10 追記
Using multiple VL6180Xs in a single design
複数デバイスを使いたい時用アプリケーションノート見っけた。
使いたい数分のGPIOをマイコンとつなぐか、I2CでIO拡張するIC使う的な感じで対応するしかないみたい。
https://strawberry-linux.com/catalog/items?code=16180
測距センサですね。
よくあるSharpの奴とは違って、光が跳ね返ってくるまでの時間を計るタイプです。
なので物体の反射率とか形状に影響を受けにくいとかなんとか
I2C面倒だなーと思いながら簡単に実装してみました。
でも何故か110mm程引いたされた値で取得されちゃいます(´・ω・`)
→アプリケーションノートのオススメ設定を試したらちゃんと計測できました(2016/03/15追記)
ひとまずやり方↓
【使い方(暫定版)】
I2C通信フォーマット
[I2Cアドレス(0x29)][レジスタ上位アドレス][レジスタ下位アドレス][データ][データ][…
送受信ともにこんな感じ。
詳細
1, 計測間隔を設定する
I2Cで0x00, 0x1B, 0x04を送る。
3バイト目で間隔を設定している。10msなら0x00, 20msなら0x01, …, 50msなら0x04
2, 連続計測モードにする
I2Cで0x00, 0x18, 0x03を送る
3, 計測結果を読む
I2Cで0x00, 0x62を送って1バイト受信
これでmm単位の値が取れます。
あと気になるのはI2Cアドレス書き換えられるかだけど、0x0212に7bitの新アドレスを書けば良いみたい。でも電源切ったら忘れちゃうみたい?意味ない!!!!???
GPIO-0が起動時にCEな機能を持つこととGPIO-1を組み合わせて使えないかかんがえちゅー
アプリケーションノートの初期化コードで、データシートに載ってないレジスタいじってるから何か隠されてるようだ。。。
-----------------------
2016/04/10 追記
Using multiple VL6180Xs in a single design
複数デバイスを使いたい時用アプリケーションノート見っけた。
使いたい数分のGPIOをマイコンとつなぐか、I2CでIO拡張するIC使う的な感じで対応するしかないみたい。
PR
Comment