Micro:bitを使ってGPSからシリアルデータを読み込み、目的の文字列を探すという課題に取り組んでいる方に向けて、MakeCodeでの実装方法を解説します。この記事では、シリアルデータの読み込みに関する「ずっと」ブロックの使い方や、複数の「ずっと」ブロックを使用する際の動作について説明します。
「ずっと」ブロックの使い方と基本的な動作
Micro:bitのMakeCodeでは、「ずっと」ブロックを使って繰り返し処理を実行することができます。このブロックはプログラムが終了するまで繰り返し処理を続けるため、シリアルデータの読み込みや文字列の検索に便利です。通常、「ずっと」ブロック内にシリアルデータの読み込みを組み込み、そのデータを使って処理を行うことができます。
複数の「ずっと」ブロックを使用した場合の動作
質問にあるように、「ずっと」ブロックを複数使うことができますが、これが「並列処理」のように動作するかどうかという点について解説します。Micro:bitのMakeCodeは、実際には並列処理をサポートしていません。複数の「ずっと」ブロックを使用しても、それぞれは順番に実行されるため、並列処理が行われるわけではありません。したがって、両方のブロックは時間的に交互に実行されるだけです。
例えば、一方の「ずっと」ブロックでシリアルデータを読み込み、もう一方の「ずっと」ブロックで文字列を検索する場合、読み込みと検索が交互に実行されることになります。データの読み込みと処理が交互に行われるため、処理速度やタイミングに依存することになります。
シリアルデータの読み込みと文字列検索を効率よく行う方法
シリアルデータの読み込みと文字列検索を効率よく行いたい場合、一つの「ずっと」ブロック内でデータの読み込みから検索までを行う方が理想的です。このようにすることで、データを読み込んだ直後に処理を行うことができ、タイミングのずれが少なくなります。
また、複数のデータを同時に扱う場合は、変数をうまく活用して、データの読み込みと文字列検索のフローを整理することが重要です。例えば、データを一定量読み込んだらその後に検索を行い、再度新しいデータを読み込むという流れを作ると効率が良くなります。
まとめ
Micro:bitのMakeCodeでは、複数の「ずっと」ブロックを使っても並列処理は行われませんが、順番に処理されることを理解しておくことが大切です。シリアルデータの読み込みと文字列検索を効率よく行うためには、一つの「ずっと」ブロック内でデータ読み込みから処理までを行う方法が最も効果的です。プログラムの処理の順番とタイミングを調整することで、スムーズなデータ処理が可能になります。

コメント