2-4-12【入門用】micro:bit2台で無線通信

この資料は、コドモとアプリから引用しています。

マイクロビットにはBLT(無線通信機能)があるので、マイクロビットからマイクロビットへデータを送受信することが可能です。
この機能を使えば、リモコン付きのおもちゃなどを作ることが可能になります。

【送信側のプログラムを作成する】

送信側・受信側専用のプログラムが必要です。同じ無線グループに設定することによって、関連付けを行います。はじめに、プログラムに「送信」と名前を付けておきましょう。

 

こうすることで、「送信」と「受信」のプログラムを間違えずにマイクロビットにダウンロードすることが出来ます。

①「ずっと」のブロックは使わないので、左にドラッグして削除しておきます。

②「無線」の「無線のグループを設定1」のブロックを「最初だけ」のブロックの中にドラッグします。

③「入力」の「ボタンAが押されたとき」ブロックと「無線」の「無線で数値を送信」ブロックをドラッグします。

これで、送信側のプログラムは完成です。思ったよりとっても簡単でした!
④「送信」のプログラムをダウンロードして、送信側のマイクロビットに送信します。

【受信側のプログラムを作成する】

受信側のプログラムは、送信側のプログラムよりも少し複雑です。
①受信側のプログラムを作るために、「microbit」もしくは「ホーム」をクリックしましょう。先ほど作成した「送信」プログラムは、ちゃんと保存されていますので安心して下さいね。

②マイプロジェクトの「新しいプロジェクト」をクリックしましょう。

③新しいプロジェクトのタイトル欄に、「受信」と入力します。

①「ずっと」のブロックは使わないので、左にドラッグして削除しておきます。

②「無線」にある「無線のグループを設定」のブロックを「最初だけ」のブロックの中にドラッグしましょう。

③「無線」にある「無線で受信したときreceivedNumber▼」ブロックの中に「論理」にある「もし真▼なら」ブロックをドラッグします。

④「論理」にある「0=▼0」のブロックを、「もし真▼なら」の「真」の部分にドラッグします。


⑤「変数」にある「receivedNumber」を「0=▼0」ブロックの左側の「0」部分にはめ込みます。

⑥「基本」にある「LEDに表示」ブロックを「もし~なら」ブロックの中にドラッグします。

⑦「LEDに表示ブロック」を、「0」の形で点灯するようにマウスで8箇所クリックしましょう。


⑧「基本」にある「一時停止(ミリ秒)100▼」ブロックをドラッグします。

⑧「一時停止(ミリ秒)100▼」ブロックの「100」の数値にカーソルを当てて、「1000」に変更します。

⑨「基本」の「表示を消す」ブロックを挿入します。しかし、「基本」をクリックしてもこのブロックが見当たりません。その場合は、「検索」で探します。。検索窓に「表示」と入れると、予測で候補ブロックが出てきますので「表示を消す」ブロックをドラッグします。

これで、受信側のプログラムも完成です。お疲れ様でした!

【シミュレーターで確認する】

マイクロビットが2台無くても、シミュレーターでプログラムが正常かどうか確認することが可能です。確認のためには、同じプログラミングエリアに送信側のプログラムと受信側のプログラムの両方を置く必要があります。
受信側より送信側のプログラムのほうが短いので、先ほどの受信側のプログラムの上に送信側のプログラムを追加してみました。
①「最初だけ」のブロックと「無線のグループを設定」のブロックの組み合わせは送受信どちらも同じなので、ブロックを複製します。
ブロックをコピーするときは、コピーしたいブロックの上で右クリックをします。「複製」をクリックすると、ブロックが複製されるのでずらしておきましょう。

②受信プログラムの上に送信プログラムを追加しました。シミュレーターの「A」をクリックしてみます。

③Aボタンをクリックするとシミュレーターにマイクロビットがもう1枚追加されるので、もう1度Aボタンをクリックしてみましょう。

送信側のAボタンをクリックすると、無線マークが光ります。

すると、受信側のLEDが「0」と表示されます。

【プログラムをダウンロードしよう】

さっそくマイクロビット本体にプログラムをダウンロードしてみます。シミュレーションするために受信側に追加した送信プログラムを忘れずに削除しておきましょう。

送信用プログラムをダウンロード

受信用プログラムをダウンロード

※ダウンロードのやり方は、リンク先をクリックして下さい。

【マイクロビットで無線通信してみよう】

送信プログラムをダウンロードしたイエローのマイクロビットのAボタンを押すと、受信プログラムをダウンロードしたブルーのマイクロビットのLEDに「0」と表示されます。これは面白い・・!!

【5m以内の範囲なら無線通信が可能】

マイクロビットのBLT(無線通信機能)は、近距離でなくても通信ができます。
試しに、家の中で受信用のマイクロビットを1階に置いて2階から送信用のマイクロビットのAボタンをクリックしてみましたが、正常に動作しました。
受信用のマイクロビットを室内に置いて家の外に出て送信用のマイクロビットのAボタンをクリックしてみましたが、こちらも無線通信が成功しました。これはとても面白い実験です!