というところは、何度か試しているうちにわかった。
でも、全く、プログラムが書けず、値をちょっと変えてみたりする程度。
超音波センサーHC-SR04を使った距離の測定を試してみた。
測定値はPCの画面の右上あたりのアイコンを押すとシリアルポート(おっさんの場合はCOM4ポート)の内容が表示される仕組みだ。
いろいろ試しているうちに疑問、気になるところが出てきた。
・表示値と実測値に1~2cm程度の誤差があるようにみえる。
・数値だけでは面白くない。
・センサーのどの部分が0cmの基準になるのか。
下記の誤差も考慮すべきかと思うが、感覚的には、超音波センサーの先端から測った方がよさそうだ。
・表示値と実測値に1~2cm程度の誤差があるようにみえる。
超音波センサーの精度は3mmと記述されていたが20cmの測定で1~2cmくらいずれている感じだ。
ずれの原因の一つに、温度による音速のちがいがあるようだ。本センサーは、音速340m/秒で計算しているようだ。
実験した日は26℃で音速は347.1m/sなので、実際の距離は計算上は1.0209倍(2.09%増し)になる。
20x1.0209=20.42cmで約4mmの誤差。
その他にも誤差には色んな要素があると思われるので、誤差としてはこんなものかもしれない。
ただ、人間様からみたら、単純に誤差が大きいと思ってしまうかもしれない。
・数値だけでは面白くない。
距離測定プログラム(スケッチ)
COM4ポートの値をグラフ化
Serial.print(a);で測定距離をCOMの画面に数字で出力するだけなので、なんかさみしく、面白くない。
グラフで表示できないのか?
と色々しらべてみると、COMポートの画面にグラフで出力できるらしい。
方法は、
Serial.print(a); ⇒ Serial.println(a); のように「 ln 」を追加する。たったこれだけで簡単なグラフが表示できる。すごく便利だ。
グラフで表示すると、例えば、物は止まっているのに、測定値が20cmと21cmを行ったり来たりしている。距離は閾値(しきいち)的な領域(場所)の確認が容易なのも、グラフ表示の恩恵である。
コメント