マイクロビットで複雑な工作などをつくる際には、同時に複数の処理をしたい場合があります。
ここでは、「ずっと」で何らかの処理をしている途中で、「ボタンが押されたとき」や「無線で受信したとき」が正常に受け付けられるか、また「ボタンが押されたとき」や「無線で受信したとき」を受け付けた場合、「ずっと」内の処理が中断してしまわないか確認したいと思います。
リンク
作成したプログラムは以下です。
「ずっと」では、25個のLEDを順番に、高速で点灯・消灯させています。
「ボタンAが押されたとき」「ボタンBが押されたとき」「無線で受信したとき」では、それぞれ別の音を鳴らしています。
送信機のプログラムは以下です。
「ボタンAが押されたとき」に「無線で数値を送信」するだけのものです。
これらのプログラムを書き込んだマイクロビットを動かしてみました。
結果は以下のとおりです。
「ずっと」でLEDの点灯・消灯を繰り返している間も、「ボタンが押されたとき」や「無線で受信したとき」は問題なく受け付けられています。
また、「ボタンが押されたとき」や「無線で受信したとき」によって音が鳴っている間も「ずっと」内の処理は中断されず、LEDの点灯・消灯がスムーズに繰り返されています。
「ずっと」内の処理と、「ボタンが押されたとき」や「無線で受信したとき」内の処理は、お互いに悪影響を与えることなく、独立して実行できることを確認できました。
ちなみに、以下のように、「ずっと」の中でボタンが押されているかどうかを判定している場合は、ボタンを押してメロディが鳴っている間、LEDの点灯・消灯が中断してしまいます。