この記事では、MakeCode for micro:bitのチュートリアル「マイクロチャット(Micro Chat)」について紹介します。
「マイクロチャット(Micro Chat)」では、マイクロビットの無線通信機能を使い、他のマイクロビットとメッセージを送受信するプログラムを作ります。
友だちとメッセージをやりとりできたら楽しいですよね!
(シミュレーターで試すところまでは作成できます。)
チュートリアルを開始する
MakeCode for micro:bitのホーム画面を開きます。
チュートリアル「Micro Chat」を選択し、ブロックの「チュートリアルを開始」をクリックしましょう。
不要なブロックを消す
「ずっと」ブロックは今回使わないので消しましょう。
ブロックをクリックしてdeleteキーをおす。
または、カテゴリーのエリアへドラッグアンドドロップ。
無線のグループを設定する
最初に、無線のグループを設定します。
グループの番号が同じマイクロビットどうしでデータをやり取りすることができますよ。
クラスを班に分けて、班ごとに話し合うのに似ていますね。
無線カテゴリにある「無線のグループを設定」ブロックを、「最初だけ」ブロックの中に配置します。
- 「無線のグループを設定」ブロック
無線通信のグループ番号(0~255)を設定します。
グループ番号は、0から255までの好きな番号にすることができます。
近くにいる別のグループと番号がカブらないようにしましょう。
メッセージを送信する
Aボタンをおしたとき、メッセージを送信します。
入力カテゴリにある「ボタンAが押されたとき」ブロックを出し、中に無線カテゴリにある「無線で文字列を送信」ブロックを配置します。
“”の部分をクリックして好きな文字列(半角の英数字記号)に変えましょう。
お手本の “:)” は、海外の顔文字です。たてにして見ると笑顔になりますね 🙂
無線通信で、同じグループのマイクロビットに文字列を送信します。
メッセージを受信する
他のマイクロビットからメッセージを受信したときの処理を作りましょう。
メッセージを受信したら、受信した文字列をLED画面に表示します。
無線カテゴリにある「無線で受信したとき(receivedString)」ブロックを出し、中に基本カテゴリにある「文字列を表示」ブロックを配置します。
receivedStringには、受信した文字列が記憶されています。
「無線で受信したとき(receivedString)」ブロックにあるreceivedStringを「文字列を表示」ブロックの”Hello”の位置へドラッグアンドドロップしましょう。
- 「無線で受信したとき(receivedString)」ブロック
マイクロビットが無線で文字列を受信したとき、中に配置したプログラムを実行します。
シミュレーターで確認する
シミュレーターで作ったプログラムを試してみましょう。
シミュレーターのAボタンをクリックすると、2つ目のmicro:bitが表示されます。
(画面が小さいと表示されないことがあります)
もう一度Aボタンをクリックすると、もう一方のmicro:bitに送信した文字列が表示されます。
マイクロビットにプログラムを転送する
シミュレーターで正しく動くことを確認できたら、マイクロビットに転送して動かしてみましょう。
マイクロビットにプログラムを転送する方法は「【マイクロビット】パソコンとのつなぎ方・外し方、プログラムの転送方法」でくわしく紹介しています。
まとめ
チュートリアル「マイクロチャット(Micro Chat)」について紹介しました。
今回使用したブロック
- 「無線のグループを設定」ブロック
無線通信のグループ番号(0~255)を設定します。 - 「無線で文字列を送信」ブロック
無線通信で、同じグループのマイクロビットに文字列を送信します。 - 「無線で受信したとき(receivedString)」ブロック
マイクロビットが無線で文字列を受信したとき、中に配置したプログラムを実行します。
おまけ
授業中に友だちとこっそり手紙のやり取りをしたことはないでしょうか?楽しいですよね(先生ごめんなさい)
マイクロビットで気分を表すアイコンをやり取りするプログラムを作ってみました。
- Aボタンをおすと、うれしい顔
- Bボタンをおすと、かなしい顔
- AボタンとBボタンを同時におすと、ねてる顔
授業中に席のはなれた友だちと気分を共有してみてはいかがでしょうか?(先生に怒られても責任は取りません!)
今回は数値を送信しているので、「無線で受信したとき」ブロックはreceivedNumberの方を使っています。
Stringは文字列、Numberは数字という意味。receiveは受けるという意味です。
無線通信機能のくわしい使い方と作品例を「【マイクロビット×メイクコード】無線通信機能でマリオの世界を再現!ハテナブロックを作ろう」で紹介しています。よかったら見てみてくださいね。