しばらく放っておいた超音波センサー HC-SR04。今日、ようやくArduino Nano と接続して動作確認をしてみました。Aruduino Nanoと比べてみると結構大きいです。



グーグル先生に問い合わせて、HC-SR04のデータシートを見つけました。


Ultra Sonic Ranging Module HC-SR04
http://www.micropik.com/PDF/HCSR04.pdf


端子の配置は基板のシルクに記されています。Trig端子はデジタル出力ピン、Echo端子にはデジタル入力ピンを割り当てます。




Trig端子を10μsec期間 HIGH にすると超音波を8回バースト出力します。Echo端子は、そのパルスを送出してから受信した時間HIGHとなり結果を返します。それから距離が割り出せます。参考までにデータシートの記述を抜粋しました。




使い方に関してはスイッチサイエンスさんのサイトが参考になります。解説が分かりやすく、サンプルスケッチもついています。

超音波距離センサモジュール HC-SR04
http://www.switch-science.com/catalog/1606/


データシートの内容とスイッチサイエンスさんの解説ページを参考にしてスケッチをプログラムをしてみました。pulseInという見慣れない関数がありますが、これはデジタル入力ピンのHIGH or LOWの状態の時間(マイクロ秒)を返す関数です。この場合はD6 pinのHIGHの期間を返します。





Arduino Nano と超音波測距センサーを接続し、スケッチを書き込みます。




位置関係を把握しやすくするために拡大してみました。




あまり厳密ではありませんが、だいたいの性能を把握するために計測をしてみました。計測中のシリアルモニターの出力がこちらになります。



下記のような測定結果となりました。



実測(cm)
出力(cm)


2
1.80


4
3.81


8
7.31


10
9.59


15
15.37


20
19.58


25
24.17


40
38.73


80
79.15


100
98.51


120
119.20


150
147.32


165
161.60




誤差は多少あるものの、だいたい位置はあっていますし出力も安定しています。ただし15度以内のレンジに入っているものは大小関係なく拾ってしまうので使い方には注意が必要です。

この測距センサー、ほぼ使えそうなことが分かったので、これから息子と作ろうとしているロボットの目として使う予定です。ロボット作りは夏休みの宿題かな。。。
(^_^)/~


関連記事
Arduino Nano と 超音波測距センサーを買いました
http://makers-with-myson.blog.so-net.ne.jp/2014-03-23

Arduino で測距センサーを試してみた!
http://makers-with-myson.blog.so-net.ne.jp/2014-03-03-1






HC-SR04 超音波距離センサーモジュール For Arduino

  • 出版社/メーカー: サインスマート(SainSmart)
  • メディア: エレクトロニクス



サインスマート(SainSmart) Nano 3.0 互換ボード for Arduino

  • 出版社/メーカー: サインスマート(SainSmart)
  • メディア: Personal Computers



サインスマート(SainSmart)Nano I/O 拡張シールド for Arduino

  • 出版社/メーカー: サインスマート(SainSmart)
  • メディア: おもちゃ&ホビー