マイクロビットを使ってみる 〜「ずっと」と「ボタンが押されたとき」や「無線で受信したとき」を同時に使う

マイクロビットで複雑な工作などをつくる際には、同時に複数の処理をしたい場合があります。

ここでは、「ずっと」で何らかの処理をしている途中で、「ボタンが押されたとき」や「無線で受信したとき」が正常に受け付けられるか、また「ボタンが押されたとき」や「無線で受信したとき」を受け付けた場合、「ずっと」内の処理が中断してしまわないか確認したいと思います。


作成したプログラムは以下です。

「ずっと」では、25個のLEDを順番に、高速で点灯・消灯させています。
「ボタンAが押されたとき」「ボタンBが押されたとき」「無線で受信したとき」では、それぞれ別の音を鳴らしています。

送信機のプログラムは以下です。

「ボタンAが押されたとき」に「無線で数値を送信」するだけのものです。

これらのプログラムを書き込んだマイクロビットを動かしてみました。
結果は以下のとおりです。

「ずっと」でLEDの点灯・消灯を繰り返している間も、「ボタンが押されたとき」や「無線で受信したとき」は問題なく受け付けられています。
また、「ボタンが押されたとき」や「無線で受信したとき」によって音が鳴っている間も「ずっと」内の処理は中断されず、LEDの点灯・消灯がスムーズに繰り返されています。

「ずっと」内の処理と、「ボタンが押されたとき」や「無線で受信したとき」内の処理は、お互いに悪影響を与えることなく、独立して実行できることを確認できました。

ちなみに、以下のように、「ずっと」の中でボタンが押されているかどうかを判定している場合は、ボタンを押してメロディが鳴っている間、LEDの点灯・消灯が中断してしまいます。


なお、私がマイクロビットの使い方を習得するのにあたっては、以下の書籍を参考にさせていただきました。


初心者向けから、比較的高度なものまで、さまざまな情報が記載されているだけでなく、子供向けの作例も多数掲載されていますので、「プログラミング教育」のための題材さがしなどにもおすすめです。


このサイトで書いている、マイクロビットに関するブログ記事を、「さとやまノート」という別のブログページに、あらためて整理してまとめました。

他のマイクロビット記事にも興味のある方は「さとやまノート」をご覧ください。