本記事ではmicro:bitのボタンを使いこなせるようになることを目指して解説します。
- 【microbit】内蔵ボタンの使い方【ボタンが押されたとき】
実際のプログラム例と実行結果を示しながら解説します。
【microbit】内蔵ボタンの使い方【ボタンが押されたとき】
micro:bitにはボタンAとボタンBの2つがあります。押したら自動で戻るタイプのボタンです。
裏にもリセットボタンがありますが、これはmicro:bitをリセットするためのボタンなので、動作をプログラミングすることはできません。
今回はボタンA/Bを押したときのプログラムの作り方を解説します。
内蔵ボタンを使ってできること
内蔵ボタンを使うと下記のようなことができます。
- 押したボタンによって動作するプログラムを切り替える
- ボタンを押し続ける間は音楽を鳴らす
上記のとおりです。ぜひ、使い方をマスターしましょう!
ボタン検出タイミング
まず、前提知識としてボタンが押されたことを検出するタイミングについて解説します。これはmicro:bitに限った話ではなく、世の中にあるボタン全般の話です。
ボタンが押されたことを検出するタイミングは次の3種類があります。
- 押下時:ボタンを押したとき
- 短押し時:ボタンを押して離したとき
- 長押し時:ボタンを押してしばらく時間が経って離したとき
普段は全然意識しないと思いますが、よく観察すると結構違いがあるんですよ。
そして、micro:bitは「短押し」と「長押し」を検出できます。
基本的には「短押し」を検出して動き出すプログラムを作っていきます。
ボタン検出の種類
micro:bitにはボタンAとボタンBの2つを搭載していますが、実は次の3パターンのボタン操作を検出できます。
- ボタンAが押されたこと
- ボタンBが押されたこと
- ボタンAとBが同時に押されたこと
なので、例えば下記のようなプログラムを作ることができます。
- ボタンAが押されたら処理Aを実行
- ボタンBが押されたら処理Bを実行
- ボタンAとボタンBが同時に押されたら処理Cを実行
どれも検出方法に違いはないので以降は「ボタンAが押されたこと」を例に紹介します。
「ボタンAが押されたとき」ブロック
この命令はボタンA/B/A+Bが押されたことをきっかけに動作するプログラム作る開始命令です。
また、「A」の部分は「A」、「B」、「A+B」の3種類から選べます。
ちなみに、シミュレーター上は「A+B」のボタンがありますが、実物のmicro:bitではAとBを同時押しします。
例えば、次のようにすると「ボタンAが押されたときに♡マークを表示」します。
ちなみに、「ボタンAが押されたとき」ブロックは2つ置けません。どちらか一方は無効になります。どっちのプログラムを動かしたらいいかわからなくなるからですね。
それぞれのボタンに処理を割り当てれば色々なプログラムが作れますよ。
「もしボタンが押されているなら」ブロック
この命令はボタンが押されていることを判定するときに使用する命令です。
例えば、次のようにすると「ボタンAが押されているときに♡マークを表示し、押されていないと×マークを表示」します。
ここでポイントなのは「押されたとき」ではなく「押されているとき」と書かれている点です。
つまり、この判定部分が実行されるタイミングでボタンが押されないと処理は実行されません。なので、ボタンを押したタイミングで処理が実行されるとは限りません。
どちらを使うか?
使い分けは次のようにするといいでしょう。
- ボタンが押されたことをきっかけに処理を動かしたいとき
「ボタンが押されたとき」ブロック - 別処理の途中でボタンが押されていることをチェックしたいとき
「もしボタンが押されているなら」ブロック
上記のとおりです。
まとめ
本記事のおさらいです。
- ボタンの検出タイミングは「押下時、短押し時、長押し時」の3種類
- プログラミング可能なボタンは「ボタンA/B/A+B」の3種類
- 「ボタンAが押されたとき」でボタン操作をきっかけにプログラムが動く
- 「ボタンAが押されたとき」ブロックは2つ置けない
- 「ボタンAが押されている」でボタンが押されていることを判定できる
上記のとおりです。
それでは、micro:bitを楽しんでください(^_^)/~