教育・子育て

【プログラミング教育研究-12】ふりこカウンター:自動タイマー

やねこ🐈UGOK's icon'
  • やねこ🐈UGOK
  • 2019/12/18 00:34
Content image

 

こんにちは〜UGOKのやねこ🐈です。

 

「まだ冬じゃないし…」とずっと分厚いマフラーを温存して薄めのマフラーで生活していたのですが、そのままいつのまにか12月に入ってました。

まだまだこの薄いマフラーでいける感じがするので今年の冬は大したことないですね。(思い上がる愚かな人間の図)

 

さて、今回も前回のふりこカウンターを改良していこうの記事になります。

今回はふりこが触れる時間を自動で計測する「タイマー機能」の実装を行いました。

(前回の記事はこちら↓)

 

 

◎「稼働時間」を活用したタイマー機能の設計

 

自動タイマー機能の実装にあたり、micro:bitの「入力」→「その他」タブの中にある

「稼働時間(ミリ秒)」という入力値を活用しました。

稼働時間とは、micro:bitがプログラムを読み込んで稼働し始めた瞬間から計測する経過時間のことを指します。

今回はふりこが10往復する時間を知りたいので、図にすると以下のようになります。

Content image

この図から、【ふりこ開始】の時間と【ふりこ終了】の時間がわかれば、

ふりこが10往復する時間を計測できそうですね。そこで↓

Content image

上記の図から、ふりこ開始の時点(=1往復目)までの稼働時間と、

ふりこ終了の時点(=10往復目)までの稼働時間をそれぞれ取得し、

10往復する時間=【ふりこ終了までの稼働時間】ー【ふりこ開始までの稼働時間】

の計算で10往復する時間を算出することができそうです。

 

 

◎タイマー機能のプログラム

 

上記の設計を踏まえ、前回の記事で示した「カウント用のプログラム(micro:bit②)」を改良し、

以下のようにタイマープログラムを実装しました。

Content image

前回のプログラムではカウンターは1~10まででしたが、

今回は10往復をカウントするので1~21をカウントするプログラムに変更しました。

前回のプログラムから結構変えたので1つずつ説明します。

 

●「最初だけ」

・無線のグループを設定

・変数【カウンター】【タイマー】【開始時間】【終了時間】に0を代入

 

●「ずっと」

・変数【カウンター】を表示

 

●「無線で受信したとき」(=「明るさ」の変化を読み取ったとき)

・もし【カウンター】が20以下なら
 >>【カウンター】を1ずつ加算

 >>もし【カウンター】が1なら
 >>>>【開始時間】に「稼働時間(ミリ秒)」を代入

 >>もし【カウンター】が21なら
 >>>>【終了時間】に「稼働時間(ミリ秒)」を代入
 >>>>【タイマー】に「【終了時間】ー【開始時間】」を代入

<補足>

【カウンター】が20のときまで1加算するので、21までカウントできます。

【カウンター】が1のとき「稼働時間」を代入することで【ふりこ開始までの稼働時間】

21のとき再び「稼働時間」を代入することで【ふりこ終了までの稼働時間】が取得できます。

この2つの「稼働時間」の差を算出することで【タイマー】(ふりこが10往復する時間)を算出できます。

 

●「Aボタンが押されたとき」

・変数【タイマー】(ふりこが10往復する時間)を表示

 

●「Bボタンが押されたとき」

・変数【カウンター】を0に戻す(リセット機能)

 

このプログラムを実行した結果がコチラです↓

 

 

◎実装結果を受けて

 

今回10往復する時間を自動で計測するタイマー機能を実装したことで、

○人が10往復をカウントする手間

○人がストップウォッチを制御することで生じる誤差

をかなり削減できるものになったと思います。

 

この「ふりこカウンター」制作の目的は、前々回の記事で示したようにふりこ実験の

[1] 10往復を人の目で数えなければならない。

[2] ストップウォッチを押すタイミングによって結果に差異が生じる。

という2点の問題点を改善させることだったので、

プログラム自体はこれで一旦完成ということになるかと思います。

(サーボモーターを使う手法も考えてみたかったですがこの製作で利用するのは少し難しそうです……)

 

プログラム上はこれで完成ですが、「明るさ」の変化を読み取る方式なので

正確にカウントできるかは正直五分五分といったところです…( ˘ω˘ )

よって、今後の課題としては

●ふりこの実験の結果が正確に出るか確かめる

●「明るさ」の変化をより正確に読む工夫を考える

明るさセンサー以外の他の手法でふりこの振れをカウントできないか考える

あたりになるかと思います。

 

 

今回の記事はここまでです。

お読み下さったみなさん、誠にありがとうございました!

 

 

*****

【リンク】

やねこ🐈Twitterアカウント(・ω・)っ【https://twitter.com/ugok_yaneko

UGOKTwitterアカウント(・ω・)っ【https://twitter.com/ugok_girls

 

 

 

 

Supporter profile icon
Article tip 1人がサポートしています
獲得ALIS: Article like 10.39 ALIS Article tip 0.11 ALIS
やねこ🐈UGOK's icon'
  • やねこ🐈UGOK
  • @ugok-yaneko
UGOKのやねこ🐈です。プログラミング教育について研究中。漫画が好きなのでその感想や雑談などものんびりと。

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
他カテゴリ

ALISのシステム概観

Like token Tip token
5.00 ALIS
Eye catch
クリプト

ジョークコインとして出発したDogecoin(ドージコイン)の誕生から現在まで。注目される非証券性🐶

Like token Tip token
38.31 ALIS
Eye catch
教育・子育て

【科学】アリストテレスにデカルトにニュートンに…みな光に取り憑かれた~光学の発展~

Like token Tip token
22.75 ALIS
Eye catch
他カテゴリ

警察官が一人で戦ったらどのくらいの強さなの?『柔道編』 【元警察官が本音で回答】

Like token Tip token
114.82 ALIS
Eye catch
クリプト

約2年間ブロックチェ-ンゲームをして

Like token Tip token
61.20 ALIS
Eye catch
トラベル

無料案内所という職業

Like token Tip token
84.20 ALIS
Eye catch
他カテゴリ

BCAAは本当に必要なのか?徹底的調査

Like token Tip token
1.20 ALIS
Eye catch
クリプト

Bitcoinの価値の源泉は、PoWによる電気代ではなくて"競争原理"だった。

Like token Tip token
159.32 ALIS
Eye catch
他カテゴリ

防犯意識 マーキング 下書き供養④

Like token Tip token
24.07 ALIS
Eye catch
他カテゴリ

機械学習を体験してみよう!(難易度低)

Like token Tip token
69.82 ALIS
Eye catch
他カテゴリ

京都のきーひん、神戸のこーへん

Like token Tip token
12.10 ALIS
Eye catch
ビジネス

海外企業と契約するフリーランス広報になった経緯をセルフインタビューで明かす!

Like token Tip token
16.10 ALIS