2012年11月25日日曜日

測距モジュール (GP2Y0A21YK) + Arduino


測距モジュール、あるいは距離センサと呼ばれるデバイス(GP2Y0A21YK)をArduinoで使う実験です。10cmから80cmの範囲の距離を赤外線を使って非接触で測定できます。秋月で1個400円。このほかにも測定距離の範囲が違うデバイスが違う型番で何種類かあるので、用途に応じて使い分けることができます。

回路図は下記。
GP2Y0A21YKはVccが5V、出力Voが0~3Vくらいなので、きわめて単純にArduinoと接続できます。


コードは次のとおり。
これを実行すると、下図のようにコンソール出力に距離を反映したバー(長いほど近い)を表示します。



実際には出力電圧と距離の関係は線形ではないので、ある程度正確に距離を求めたかったら、Arduinoのアナログイン値(10bit)と距離を、テーブルや内挿を用いるとかして距離に換算する方法を用意する必要があります。測距しないにしても、MIDI入力とかに用いようと思ったら、電圧と距離の非線形性は頭に入れておくといいかもしれません。

0 件のコメント:

コメントを投稿