2023年4月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            

カテゴリー

ブログパーツ

無料ブログはココログ

« サブサンプション・エンジンを作る(その6) | トップページ | BeagleBone Blackにubuntuをインストールする »

2014年10月23日 (木)

測距センサGP2Y0E03を試してみる(入門編)

管理人のページ:

今日は以前から気になっていた、シャープの測距センサ、GP2Y0E03(いつも思うんですが、名前が覚えにくい部品ですね)を試してみます。モノはこれです。兄貴分のGP2Y0A21YKと比べるとこんなにちいさい。これなら取り付け場所に悩むことも少なくなりそうです。

Dscn2886

次に動作電圧範囲が広くなりました。2.7~5.5Vなので、乾電池2本でも動作します。リポ電池を使った小型ガジェットにも安定に使えます。

それから、アナログ出力だけでなくI2Cにも対応しました。このため、測距データの読み出しや、アクティベーションや細々した測定パラメータの変更が可能になりました。これはアナログポートの倹約になりますし、電線を引き回しても測定結果にノイズが乗りにくくなると思います。デフォルトのアドレスは固定になっていますが、不揮発性メモリを書き換えることで変更可能です。16通りのアドレスを設定できるので、一つのI2Cバスで16個のセンサを使えます。

さらにデバイスをスリープに入れられるようになりました。これは外部からGPIO1というピンを0に落とすか、I2Cでスリープ命令を送って実行します。このときの消費電力は20uA程度になるので、電池動作機器にはありがたい機能です。もっとありがたいことは、この機能を使って、複数のセンサの読み込みタイミングを操作できることです。

今までの測距センサは電源を入れると赤外線を発射し続けるので、例えば、センサを二つ並べておくと、隣のセンサの赤外光に反応して、誤動作をすることがあります。このような場合は、FETスイッチで各個に電源をON/OFFするしかありませんでしたが、この機能を使えば、測定したいセンサだけをアクティブにすることで、簡単に対応することが出来ます。

もう一つ良くなった点は、近すぎる物体の検出結果が改良されたことです。いままでの測距センサだと、近い方のリミット距離より近い対象物は、ずっと遠くにあるかのように測定されてしまいました。このため、移動ロボットなどでは、センサの搭載位置を工夫して、ロボットが壁などに接触しても、センサと壁が十分離れているようにする必要がありました。このセンサは、近すぎたり遠すぎたりする反応のときは、アナログ出力の場合、極端に低い電圧が出るので、近づきすぎを判断することができます。

Dscn2892

このセンサは最小距離4cmで2.2V、最大距離50cmで0.55Vの電圧になりますが、その範囲外では、おおよそ0.1Vくらいの電圧になります。これは、ある距離をすぎると急激に電圧が落ちるので、範囲外になったことを容易に判別できます。これは障害物にぶつかるかもしれない移動ロボットのセンサとしては、使いやすい特性です。

ただし、以前のセンサより悪くなったと思われる点もあります。本の表紙のような大きくて平らな物体はよいのですが、ビールの缶のような円筒形で小さい物体は、距離の遠いところで、以前のセンサより読み取り数値がばらつくようです。

まず、簡単にアナログ出力で動作させてみます。→こちら

« サブサンプション・エンジンを作る(その6) | トップページ | BeagleBone Blackにubuntuをインストールする »

管理人のページ」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: 測距センサGP2Y0E03を試してみる(入門編):

« サブサンプション・エンジンを作る(その6) | トップページ | BeagleBone Blackにubuntuをインストールする »