R1.8.9 基板群のシステム変更

 超音波の距離センサーも基板群を変更した。新しいOLED表示板を安価に購入したので、それを利用することにした。古い基板に半田付けしていたBME280の取り外しがうまくいったので、距離センサーのピンも交換した。セットを立てたときに両目が前を向くようにしたわけだ。配置の関係で、センサーは上下を逆にしている。今回購入したOLED液晶はこれまでのOLED液晶と大きさは異なるが扱いは一緒なので楽だ。

 マイクロビットとの接続にはボルトレスにし、エッジコネクターに差し込むだけとした。これで、マイクロビットの使い魔鷲が楽になる。

 基板群の動作テストの為に簡単なプログラムを書いてみた。拡張機能は新しいものにした。下の図の右側の拡張機能。しかし、もうちょっと見やすいフォントにならないものか。説明にあるかもしれないな。

 ときどき測定結果が0になる。乾電池では力不足なのか、0になることが多い。乾電池が古くなっているのかな?


H31.3.2 落下運動測定2

 測定開始と終了の時間を測定して、測定する間隔時間を求めてみた。そのつど間隔時間は変わってしまう。表示しているデータとグラフは48msの時のもの。今日初めてやった時には50msという計算しやすい結果になったが、距離データが0続きでうまく取れなかった。最初はどうもダメなようだ。何回かテスト測定した後、本試験とすべきのようだ。

 前回「配列に測定値を入れる処理」としていたけれど、超音波センサーの処理に時間がかかるのですね。6msほどかかっている。1mの距離を音波が往復するのに、2/330秒=6msかかるのだからけっこう落下物が離れるほど影響が大きいね。

 距離が整数値でしか出ないので、実験開始直後のデータがアバウトです。


H31.2.28 落下運動測定

 落下運動を測定できるかな? と思ってやってみた。厚手で大きめの雑誌を落として、それをマイクロビットに追尾させてみた。

 測定値をその都度表示させると、マイクロビットが処理できないだろうし、人間も表示が速すぎて記録できないので、配列変数に入れておく。あとで再生させて記録するということにした。
 プログラムは下の通り。ボタンAを押したら測定開始だ。間隔を40ミリ秒にしてみた。1.2秒ほどの測定になる。測定が終わったら、Bボタンを押して表示させて記録する。2人1組にして読み上げながらノートに記録すると楽にできるかな。

 グラフ処理だが、プログラム中では1.5倍の計算をさせていないので、ワークシートで行った。青の線が結果。落下最初のあたりに誤差の大きさが見えますね。一人でやったもので難しい。2人ならうまくできるかも。

 赤のグラフが理論値によるグラフなのだが、大きくずれていますね。理論値の測定間隔を40ミリ秒でなく、46ミリ秒で計算すると、細い緑のグラフになって測定値と重なるようです。実験の測定間隔を何ミリ秒にしたらいいのか検討の余地があります。

 実験で一時停止を40ミリ秒にしているけれど、配列に測定値を入れる処理に6ミリ秒ほどの時間がかかっているのかもしれないです。測定の開始から終了まで何ミリ秒かかっているか調べてもいいですね。


H31.2.27 HC-SR04Pで距離を測定する2

 ようやく準備が整ったので、休みの本日製作に取り掛かった。相変わらずの行き当たりばったりの製作だが、今回は部品の配置図面を描いてみた。けれど配置だけ描いて、配線計画をしなかったもんだから、いいかげんになった。まあ、写真を見てみれば分かるが、部品の下に隠れて配線の混雑ぶりは分からない。

 マイクロビットを差し込むエッジコネクタは20ピン×4列なのだが、1.27mmピッチなのでそのままでは2.54mmピッチの汎用基板には刺さらない。そこで、先頭の1列20ピンを残して、他はすべて切り取ってしまう。I2CコネクタのSCLピンが基板上からは取れないので、写真にあるように表から半田付けして利用している。

 一応ざっとチェックしてから電源を入れてみたらしっかりと距離データが取れている。まだプログラムの変更はしていないが、表示されているデータを1.5倍してやると実際の測定距離となる。

 横から撮影したら、2つの目玉がいい感じにロボット風になっている。ロボットに発展させたいな。

 今回は、6cm×8cmの基板(SODIAL(R) 5x6x8cmダブルサイドプロトタイプPCBユニバーサルプリント基板:届くのが遅くなるけれど使いやすくマイクロビットには丁度いい大きさ)を切らずに使った。コンパクトにもできるだろうが、配線しやすさを優先したのだった。それでも苦労してしまったけど (^^;)


H31.2.17 HC-SR04Pで距離を測定する

 3V〜超音波距離測定モジュールをアイテンドーさんから購入した。¥390だった。以前から持っている5V版と比べると、両目の間のクリスタルがなくなっている。裏側の3つのチップの中のうちU2かU3の中に変わるものが入っているのだろうか。

 3Vで動作させるので、echoから入ってくる信号電圧も3V以内で戻ってくるだろうから、マイクロビットの端子にそのまま入れて構わないだろう。

 半田がなくなってしまったので、取り敢えずつないでみた。最初はデータが0としか表示されなかったが、ボタン電池の電圧が降下しているかなと思い、パソコンのUSBから電源を取ってみると、果たして測定値が現れてきた。

 5Vを使わなくていいので、これは便利だね。半田を買って、注文している基板が届いたら、ボタン電池でなくて単4電池2本で使う基板を作ってみよう。


H30.12.23 距離を測定する

 どういうわけかラズパイのページにHC-SR04という超音波距離計の工作が無くなっているが、使ってはいた。かなり簡単に使えた。それもすべて使い方を公開してくれている方々のお陰なのだ。

 マイクロビットでも使える。ただ、HC-SR04は5Vで動作する(昨日マイクロビットに直結する3V動作のものを¥2000弱で発見した)ので、若干の工作をしてつないでみた。余っていたペットボトルキャップ基板を使った。

 1KΩの抵抗を2本並列にして500ΩとしEchoにつなげる。もう1つの1KΩをGNDとEchoの間に入れて、マイクロビットに入ってくる信号電圧を下げている?!らしい。よくわからんけど。詳しいことはネットでも調べてください。

 それを、マイクロビットにつなぐ。5Vの電源は百均の300円モバイルバッテリー。

 プログラムは、pxt-sonar 0.0.5 (Microsoft/pxt-sonar)を利用した。このパッケージはwindows10では見つからなかったので、ブラウザ版で使った。一応測定はできるのだけれど、実際と大きな違いが生じる。下の図で水色のグラフが測定したもの。ネットでもそんなことが記事になっていた。

 その修正は、測定値を1.5倍すればいいだけのようなので、今後行うことにする。ともかく、距離測定ができて、小さなLCDモジュールに表示することができた。