前回記事で超音波センサーを購入したが使うのが難しいかもと書いた。先程現物が届き事前に調べていた使い方で何気に理解していたのだが、とりあえずある方のブログでM5StickCを使用して計測距離を表示するだけのものがあったのでそれを利用させていただく。

 センサーはHC-SR04というもので価格も安い(秋月で300円)のでポピュラーな型番のようだった。

 端子は4つあり、GND,Vcc,Trig,Echoの4つ。GND,Vccは5Vかければ動くらしい。TrigにはCPU側から10μs以上の幅のHパルスをいれればその後から計測を開始して、超音波がものに当たって反射してもどるまでに要した時間を、計測終了後にEcho端子からHパルスのHになっている時間で返すのでその時間を計測すればよいだけらしい。 pulseIn() という関数で計測できるので、ライブラリは別に使用しなくてよさそうだ。ロボットの衝突回避なら精度もだいたいでよさそうだしね。音速も340m/sで問題ないでしょう。

 精度求めると気温とかが関係するからもうちょいめんどうくさくなりそうだしね。とりあえず壁までの距離が10センチになったらターンするくらいならすぐできそうな気もするなぁ。とはいえ結構調整とかアルゴリズムとか難しそうだ。

 フォトリフレクタも入手できたのでさきにライントレーサーかな。