#micro:bit windowsアプリ「makecode for micro:bit Windows 10 App」がリリース
2018年1月にMicrosoftからリリースされた「MakeCode for micro:bit Windows 10 App」を使うと、たった数ブロックで各種データ(加速度・温度・照度・磁力・etc)のリモート計測環境(micro:bit複数でBLE通信)が小学生でも簡単に作れるようになりました。
理科の実験や、測定器メーカーやIoT機器メーカー主催の子供向けの体験イベントで使ったら面白そうです。
先日、Tech Support EngineerのMarkさんにお会いする機会があり「2種類メンテナンスする事になって大変なんじゃない?」と聞いたところ作業は独立していて彼的には変わらないとの事でした。
一点、まだbetaなので多少おかしいところがあります。2018年2月4日時点では
- 初め英語モードにしないと途中で止まる現象を確認(一旦起動後は日本語にしても問題なかった)
- 突然落ちることがある(数回経験)
- micro:bitが見つけられなくなる(プログラムを再起動すると治る)
- csv保存が出来ない事がある
等の現象を確認しています。
#万能受信プログラム
https://makecode.microbit.org/_8E29aMYCjeeq
たった10ブロックで、万能受信機の出来上がりです。
COMポート番号の確認等は不用となりました。
素晴らしい♪
#送信プログラム(加速度絶対値)
送信機側ですが、加速度のグラフを描きたいだけならこちらも10ブロックで、こんな感じ。
https://makecode.microbit.org/_AHJAMd6kPA2s
#動作確認
##ブランコ周期計測
「ストップウオッチで十分」という気もしまが、リアルタイムに描かれる加速度のグラフはリアリティがありました。
ブランコの長さが162cm。振子の重心は150cm前後だと思われます。
仮に150cmとして、微小振動の単振り子とした場合の理論値は、23.14sqrt(1.5/9.8)≒2.46sec。
実測値も2.5秒前後だったのでだいたいあっていると思います。
##自由落下時間計測
「micro:bitが壊れたら...」と心配する方にはおすすめ出来ませんが、プチプチにくるんで自由落下運動を測定してみました。
離した瞬間に無重力になり途中から徐々に空気抵抗による減速が発生し地面に激突する様がリアルタイムで測定できるのはとても面白いです。
ちなみに、空気抵抗がない場合の落下時間は理論値でsqrt(2*3.94/9.8)≒0.896sec。
#問題点
上記の実験ではほぼ問題ありませんでしたが、センサー種類や数、送信側が複数個になってくると、受信側で遅延や取りこぼしが発生する事があります。綺麗にグラフが描けない場合は、
- 適度にスリープを入れる
- 1度の送信で複数個のデータを送る
- 送信側のタイマー情報を一緒に送る
- 受信完了通知を受け取るまで次のデータを送らない
等の工夫が必要となります。子供達と数を増やすと何で綺麗に描けないかを考え、工夫の方法を考えるのも楽しそうです。
#終わりに
私は物理は専門ではありません。もし、測定方法や計算方法に誤りがあれば御指摘頂ければ幸いです。
また、もっとこんな測定につかった方が面白い等のアイディアがあれば教えてください。