3分間タイマーを作ろう
今日はmicro:bit(マイクロビット)を使って、3分間で音が鳴るタイマーを作ります。
もちろん今回も全てシミュレーターで実行できますので、無料でお試しできます(*゚▽゚)ノ
実機を買うのは、遊び方や使い方を覚えてからでも遅くありません!
まずはいつものURLにアクセスしてください!
https://makecode.microbit.org/#lang=ja
3分間キッチンタイマー
まずはこんな↓簡単なキッチンタイマーを作ってみましょう。
時間を計測
さて、ここから時間を計測する命令を作っていきます。
時間の計測には「変数」と「稼働時間(ミリ秒)」を使います。
3分は何ミリ秒?
まず、3分間が何ミリ秒か求めてみましょう。
1ミリ秒は1/1000秒なので、1000ミリ秒=1秒となります。
では、3分は何ミリ秒でしょうか???
分 | 秒 | ミリ秒 |
---|---|---|
– | 1 | 1000 |
– | 10 | 10000 |
1 | 60 | 60000 |
2 | 120 | 120000 |
3 | 180 | 180000 |
180000ミリ秒ですね♪
稼働時間を使おう
さて、3分間=180000ミリ秒だと分かりました。
micro:bitには「稼働時間(ミリ秒)」という命令ブロックがあります。これは「micro:bitが起動してから何ミリ秒たったか」という値を返してくれるブロックです。
これを上手に使って180000ミリ秒を数えてみましょう。
具体的には次にようにします。
- 変数timeを作る
- 変数timeに稼働時間(ミリ秒)を入れる
- 稼働時間(ミリ秒) – 変数time が180000ミリ秒を超えていたら3分経ったと判定する
分かりますか??
念のため図にしますね。こんな感じです。
変数timeを作ろう
それでは命令を作っていきます。
まずは「変数」から「変数を追加する…」をクリックしてください。
出てきたダイアログにtimeと入力し、OKボタンを押しましょう。
正しく追加されましたね。
計算式を作ろう
追加した変数「time」と「稼働時間(ミリ秒)」を計算して、180000を超えたかどうかを判定する式を作ります。
- 「変数」から「time」をクリックしましょう。
- 「入力」→「その他」→「稼働時間(ミリ秒)」をクリックしてください。
- 「計算」→「(0) – (0)」をクリックしてください。
- 稼働時間を左の(0)に入れてください。
- timeを右の(0)に入れてください。
こんな風になりました♪
比べよう
次にこの計算式の結果が180000ミリ秒を超えているかどうか比べる式を作ります。
「論理」→「くらべる」→「(0) [<▼] (0)」をクリックしましょう。
左の(0)に先ほどの計算式を、右の(0)に180000を入力してください。
こんな風になればOKですよ。
比べ続ける
さて、これで3分間を図ることができる式が完成しました。でも、これだけだとダメなんですね (тωт`)
なぜかというとこの式だけではずっと比べ続けることができないからなんです。
3分間を計るということは、稼働時間の間ずっとこの式を比べ続ける必要があります。
なので、次はずっと比べ続けられるようにしましょう。
- 「論理」から「ずっと<真▼>なら」をクリックします。
- 先ほどの比べる式を<真▼>の中に入れます。
上と同じようになりましたか?
この時、「もし〜」の中には何も命令を入れません。3分以内なら何もしないので、当然ですね。
さて、命令が完成したら次へ進みましょう。
timeを初期化しよう
次に、Aボタンが押された場合にtimeに稼働時間を入れるようにしましょう。
変数「time」はまだ数字が入っていません。
変数は「宣言(変数を作ること)」しただけではダメで、その中に最初の数字を入れる必要があります。
この最初の数字を入れることを「初期化(しょきか)」と呼びます。
では、初期化してみましょう。
- 「変数」から「変数[time▼]を(0)にする」をクリックします
- 「入力」→「その他」→「稼働時間(ミリ秒)」をクリックします
- (0)の中に「稼働時間(ミリ秒)」を入れます
こんな風になります。
これを一番最初に出した「ボタン[A▼]が押されたとき」の中に入れます。
できましたね?
音を鳴らそう
最後に、3分経ったら音を鳴らすようにしましょう。
- 「音楽」から「音を鳴らす 高さ(Hz) (真ん中のド▼) 長さ(1▼ 拍)」をクリックします
- 「もし〜」ブロックの下にそれを入れます
おめでとうございます (ᗒᗨᗕ)
これで「Aボタンが押されたら3分測って音を鳴らす」命令の完成です!!!!
やってみよう
では、実際にボタンを押してみましょう!
3分後に音がなればOKです!
もし鳴らない場合は上の図とご自分のプログラムを見比べてくださいね。
それと、パソコンから音が出る設定になっているかどうかちゃんと確認してください。
たまにイヤホンが挿さっていたり、音量が最小になっていたりして聞こえないことがありますので (тωт`)
追記
うーーん。。。 (´・(ェ)・`) (´・(ェ)・`) (´・(ェ)・`)
どうもシミュレーターで音が鳴らないバグがあるっぽいですね (´・(ェ)・`)
一応、解決策として試しに音を鳴らしてから実行するとちゃんと音がなるようです。
- 「入力」から「端子[P0▼]がタッチされたとき」をクリック
- 「音楽」から「音を鳴らす 高さ(Hz) (真ん中のド)」をクリック
- 「音を鳴らす〜」を「端子〜」の中に入れます
こんな感じのブロックを作り、シミュレーターの端子0をタッチしてみましょう。
正しく音がなったら、この命令ブロックは削除してくださいね。
これでタイマーの方の音も正しく鳴るはずです。試してみてください ٩(ˊᗜˋ*)و
コメント