Arduinoで遊ぶページ

Arduinoで遊んだ結果を残すページです。
garretlab
距測センサ

概要

Arduinoに距測センサをつないで、距離を測定するための実験です。シャープのGP2Y0A21YK0Fというセンサを使います。秋葉原で1個400円で購入しました。

目的

電子部品の通販のページを見ていたら、距測センサを見つけました。距離に応じて出力される電圧が変化するセンサです。以下の項目について、実際に確認します。

  1. 電圧と距離の関係

データシート

GP2Y0A21YK0Fのデータシートを参照してどのようなものなのかを調べました。

概要

仕様の概要は以下の通りです。

項目 内容
測定範囲 10cm~80㎝
入力電圧 4.5V~5.5V
消費電流 30mA

また、想定する利用方法として、以下が挙げられています。

  1. 非接触スイッチ(衛生用品とか照明の制御)
  2. ロボットクリーナー
  3. 省エネセンサ(ATMやコピー機、自動販売機)
  4. 娯楽設備(ロボット、アーケードゲーム機)

ロボットクリーナーって、やっぱりアレのことでしょうか?

その他、電源の安定性を確保するためにVccとGNDとの間に10μF以上のバイパスコンデンサを入れることが推奨されています。

出力電圧と距離の関係

出力電圧と距離の関係が示されていますが、「例」と書いてあります。あたりまえですが、測定する対象であるとか、条件によって異なるということでしょう。しかも、非線形なので、電圧から距離を求めるためには、少し工夫が必要そうです。

実験

実際にArduinoにと距測センサとを接続して、電圧と距離の関係を測定してみました。バイパスコンデンサはつけませんでした。

電圧と距離の関係

測定条件

白い紙と距測センサとの距離を変化させて、電圧と距離との関係を測定しました。Adruinoとつなげて使うので、電圧ではなく、ArduinoのanalogRead()の戻り値と距離との関係を測定しました。参照電圧は、デフォルトの5Vを利用しました。

距離は、10cmから65cmまで5㎝刻みで変化させました。センサをうまく水平にできていないかもしれないし、測定対象もきっちりと平行におかれていない可能性が高いしで、誤差は結構あると思います。

測定結果

測定結果を以下に示します。

analogRead()の値 78 82 88 98 110 123 135 155 184 228 303 452
距離(cm) 65 60 55 50 45 40 35 30 25 20 15 10

グラフにすると以下のような感じです。

距測センサの特性

データシートよりは、少し低めの電圧が測定されました。あと、65cmを超えると、電圧の変動があまりなくなり、うまく測定できないように見えました。これは、測定方法が悪い可能性が高いです。

その他

誤って、電源のプラス・マイナスを逆につなげてしまったら壊れてしまいました。注意しましょう…



メニューを表示するためにJavaScriptを有効にしてください。

Arduinoで遊ぶページ
Copyright © 2011 garretlab all rights reserved.
inserted by FC2 system