MakeCode.makecode.microbit.orgストップウォッチの仕様を作ろう最初に仕様(しよう)を決めます。「仕様」とは、プログラムがどう動くのかを簡潔にまとめたものになります。ここでは、ストップウォッチの動きをまとめたものという理解で大丈夫です。ストップウォッチはボタンが押されたら時間を計測し、次に押されるまで何分何秒かかったのかを表示するものですね✨なので、仕様は次の通りにしましょう。Aボタンが押されたら時間を計測し始めるBボタンが押されたら時間を計測を止め、Aボタンが押されてから何秒たったのかをLEDに表示するさあ❗️これで仕様ができました!!️あとはこの仕様をプログラミングしていきましょう。ストップウォッチをプログラミングしよう流れとしては次のように分けてプログラミングしていきましょう。変数timeを作るAボタンが押されたら変数timeに稼働時間(ミリ秒)を入れるBボタンが押されたら稼働時間(ミリ秒)-変数timeをLEDに表示するイメージとしては次のようになります。変数timeを作る変数timeを作ります。「変数」から「変数を追加する...」を選択します。「変数を追加する...」をクリックします表示されたダイアログにtimeと入力して「OK」を押します。変数timeの完成!Aボタンが押されたら変数timeに稼働時間(ミリ秒)を入れるAボタンが押された時の命令を作っていきましょう。仕様では、Aボタンが押された場合に変数timeに稼働時間(ミリ秒)を入れることになっていましたね。「入力」から「ボタン[A▼]が押されたとき」をクリックします。「変数」から「変数[time▼]を(0)にする」をクリックします。「入力」→「その他」から「稼働時間(ミリ秒)」をクリックします。「稼働時間(ミリ秒)」を「変数[time▼]を(0)にする」の(0)の中に入れます。「変数[time▼]を(稼働時間(ミリ秒))にする」を「ボタン[A▼]が押されたとき」の中に入れます。Aボタンが押された時の命令このようになっていればOKです🌟Bボタンが押されたら稼働時間(ミリ秒)-変数timeをLEDに表示する次はBボタンが押された時の命令を作っていきましょう。仕様では、Bボタンが押された場合に稼働時間(ミリ秒)から変数timeを引いた数をLEDに表示することになっていましたね。「入力」から「ボタン[A▼]が押されたとき」をクリックします。「基本」から「数を表示(0)」をクリックします。「変数」から「time」をクリックします。「入力」→「その他」から「稼働時間(ミリ秒)」をクリックします。(0)」をクリックします。(0)」の左側の(0)に「稼働時間(ミリ秒)」を入れます。(0)」の左側の(0)に「time」を入れます。time」を「数を表示(0)」の(0)に入れます。time)」を「ボタン[A▼]が押されたとき」の中に入れます。「ボタン[A▼]が押されたとき」の[A▼]をクリックして、ボタンBに変えます。動作確認してみようおめでとうございます🎉🎊🎉これでストップウォッチが完成しました!!️では、早速動作確認をしていきましょう。Aボタンを押して、しばらく待ってからBボタンを押してみます。LEDに数が表示されましたか?表示されたらOKです。念のため完成図を載せておきますので、もし正しく動かない場合はご自分のプログラムと見比べてください。完成しましたが...ですが...見づらいですよね👀なぜ見づらいかというと答えは簡単で、ミリ秒で表示しているからです?いちいち表示された数を1000で割らないと何秒経ったのかすぐ分からないし。いうわけで改良します!ミリ秒をそのまま表示するのではなく、秒で表示するようにしてみましょう!変換するにはミリ秒を秒に変えるのは簡単です。1秒=1000ミリ秒なのですから、1000で割れば秒が求められますね。100プログラミングしようではこの「1000で割る」というのをプログラミングしてみましょう。time)を外しておきましょう。(0)」をクリックします。(0)」の右側を1000に変えます。time)を入れます。「稼働時間〜」を左側に入れますできた命令を「数を表示(0)」の中に戻します。完成図さらに改良しよう上までの説明でAボタンが押されたら計測を開始し、Bボタンが押されたら2.78のように秒が表示されるストップウォッチが完成しました!!️ストップウォッチとしてはこれでも十分なんですが、60秒を超えた時に1分と表示されてほしい...😨なので、次のステップとして「分」を表示するように改良しましょう!プログラミングの考え方いくつかの方法がありますが、一番簡単な方法でやってみましょう。名前と役割はそれぞれ次の通りです。変数「temp」=(稼働時間(ミリ秒)-time)の結果を一時的に覚えておく変数です。変数「min」=分を表す変数です。変数「sec」=秒を表す変数です。それぞれの求め方は次のようにします。変数「temp」これはもうやっていますね。1000)の計算結果をそのまま使用します。変数tempに60が入っているとします。この時、表示する時間は1分(=60秒)ですね。tempに120が入っていた時はどうでしょう?2分(=120秒)ですね。やって計算したかわかりますよね?そう。3.683333333333333となってしまいます。この小数点以下は「分」を表示する時には不要なので、切り捨ててしまいましょう。(0)」という命令ブロックがあるので、これを使用します。クリックして「小数点以下切り捨て(truncate)」を選択します。(0)」をクリックします。「変数」からtempをクリックします。(0)」の左側の(0)にtempを入れます。(0)」の右側の(0)を60にすます。(0)」の(0)の中に入れます。「変数」から「変数[min▼]を(0)にする」をクリックします。「変数[min▼]を(0)にする」の(0)に、上で作った命令を入れます。変数「sec」については、minと逆に求めます。3.683333333333333となりますが、「分」の値は必要ありません。小数点以下があればOKですね。割ったあまり」を使いましょう。割ったあまり」をクリックする。「変数」からtempをクリックする。割ったあまり」の左側の(0)にtempを入れる。割ったあまり」の右側の(1)を60にする。「変数」から「変数[sec▼]を(0)にする」をクリックします。「変数[sec▼]を(0)にする」の(0)に、上で作った命令を入れます。文字を表示しようさぁ、これで変数min(分)とsec(秒)ができました!あとはこれらを表示するだけですが、例えば1分50秒をそのまま表示しようとすると150のようになってしまいます。本当なら1:50と表示して欲しいですよね?これを実現するために、今回は文字列を使いましょう。(-)(+)」をクリックします。(-)(+)」の”Hello”と置き換えます。(-)(+)」の”World”を”:”に変更します。(-)(+)」の(+)をクリックします。(-)(+)」の一番右と置き換えます。「入力」から「文字列を表示(“Hello!”)」をクリックし、上でできた命令を”Hello!”と置き換えます。文字列「min:sec」を表示する命令こうなっていればOKですよ!完成させようこれでそれぞれの命令ができましたので、全て順番に「ボタン[B▼]が押されたとき」の中に入れていきます。完成しました!こう↑なればOKです❤️あとは動作確認して、正しく分と秒が表示されれば完成ですね🌼もし動作しない場合はそれぞれの完成図を読み返してみてくださいね。最後にこれでストップウォッチ作成はおしまいです。動作しましたか?もし動かない場合はもう一度よく読んで作ってみてくださいね。完成図を見比べると間違っているところがわかるかもしれません。ご自分で考えてみると良いかもしれません。紙とペンだけでプログラミング!(1)教材は紙とペンだけ!2020年からの小学校でのプログラミング必修化前に、お子さんと一緒にプログラミングを楽しんでみませんか?プログラム的思考法を学ぶだけならPCが無くても大丈夫!紙とペンで楽しくプログラミングしちゃいましょう!micro:bitmicro:bitプログラミング(9)「入力」を使おう!(2)教材はブラウザだけ!無料&簡単なプログラミングを親子で楽しみませんか!?超小型コンピュータのmicro:bit(マイクロビット)を使って、積み木感覚で遊びながら覚えられるプログラミングの方法をお伝えしています。「入力」を使おう!(1)教材はブラウザだけ!無料&簡単なプログラミングを親子で楽しみませんか!?超小型コンピュータのmicro:bit(マイクロビット)を使って、積み木感覚で遊びながら覚えられるプログラミングの方法をお伝えしています。2020年から小学校でのプログラミングが必修化されます。これを機にお子さんと一緒にプログラミングを楽しんでみませんか?超小型コンピュータのmicro:bit(マイクロビット)を使って、簡単なプログラミングの方法をお伝えしています。文字を表示しよう!教材はブラウザだけ!無料&簡単なプログラミングを親子で楽しみませんか!?イギリスで生まれた超小型コンピュータのmicro:bit(マイクロビット)を使って、積み木感覚でできる簡単なプログラミングの方法をお伝えしています。コメントをキャンセルメールアドレスが公開されることはありません。ブロック崩しを作ろうスポンサーリンク。