Microbitでロボットなどを操作する際に、ボタンの数が足りなくなることがあります。
例えば、Aボタンを押してモーターをスタート、Bボタンを押してモータをストップ。この場合2つのボタンが必要になります。
Aボタンを押してスタート、もう一度Aボタンを押すとストップというような、スイッチ機能があると使用するボタンの数も減らすことができます。
スイッチ機能のサンプルプログラム
Aを押すと0が表示され、Bを押すと1が表示されます。
ABボタンを押すと、前に表示されている値と違う値が表示されます。1→0、0→1のように。
コード解説
ボタンAが押されたとき、ボタンBが押されたときは従来の方法です。
ボタンABが押されたときのブロック内がOn/Offスイッチ機能を持っています。
まず、変数を作成します。変数名は何でもよいのですが今回はStatusとしておきます。
最初だけブロックにStatusを最初0にします。
ボタンABブロックでは、論理を配置します。Statusの値に何が入っているかで条件分岐を行います。
Statusに0が入っていれば、Statusを1に変更します。Statusに1が入っていれば、Statusを0にします。
これで操作に使うボタンの数を減らすことができます。