【マイクロビット×MakeCode】無線通信でマイクロチャット(チュートリアル:Micro Chat)

この記事では、MakeCode for micro:bitの
チュートリアル「マイクロチャット(Micro Chat)」について紹介します。

「マイクロチャット(Micro Chat)」では、マイクロビットの無線通信機能を使い、
他のマイクロビットとメッセージを送受信するプログラムを作ります。

友だちとメッセージをやりとりできたら楽しいですよね!

実機で動かす場合、マイクロビットは2台以上必要です。
(シミュレーターで試すところまでは作成できます。)

 

 

スポンサーリンク

チュートリアルを開始する

チュートリアルを開始する(MicroChat)

MakeCode for micro:bitのホーム画面を開きます。

チュートリアル「Micro Chat」を選択し、
ブロックの「チュートリアルを開始」をクリックしましょう。

 

不要なブロックを消す

「ずっと」ブロックを消す

「ずっと」ブロックは今回使わないので消しましょう。

ブロックの消し方
ブロックをクリックしてdeleteキーをおす。
または、カテゴリーのエリアへドラッグアンドドロップ。

 

無線のグループを設定する

最初に、無線のグループを設定します。
グループの番号が同じマイクロビットどうしでデータをやり取りすることができます。

クラスを班に分けて、班ごとに話し合うのに似ていますね。

 

無線のグループを設定する

無線カテゴリにある「無線のグループを設定」ブロックを
「最初だけ」ブロックの中に配置します。

  • 「無線のグループを設定」ブロック
    無線通信のグループ番号(0~255)を設定します。

グループ番号は、0から255までの好きな番号にすることができます。
近くにいる別のグループと番号がカブらないようにしましょう。

 

メッセージを送信する

Aボタンをおしたとき、メッセージを送信します。

Aボタンをおしたときメッセージを送信

入力カテゴリにある「ボタンAが押されたとき」ブロックを出し、
中に無線カテゴリにある「無線で文字列を送信」ブロックを配置します。

“”の部分をクリックして好きな文字列(半角の英数字記号)に変えましょう。

お手本の “:)” は、海外の顔文字です。
たてにして見ると笑顔になりますね 🙂

「無線で文字列を送信」ブロック
無線通信で、同じグループのマイクロビットに文字列を送信します。

 

PRLEGO(R)教材を使って楽しみながらプログラミングを学ぶ教室【Crefus】

メッセージを受信する

他のマイクロビットからメッセージを受信したときの処理を作りましょう。

メッセージを受信したら、受信した文字列をLED画面に表示します。

 

メッセージを受信する

無線カテゴリにある「無線で受信したとき(receivedString)」ブロックを出し、
中に基本カテゴリにある「文字列を表示」ブロックを配置します。

  • 「無線で受信したとき(receivedString)」ブロック
    マイクロビットが無線で文字列を受信したとき、中に配置したプログラムを実行します。

 

receivedStringには、受信した文字列が記憶されています。

「無線で受信したとき(receivedString)」ブロックにあるreceivedString
「文字列を表示」ブロックの”Hello”の位置へドラッグアンドドロップしましょう。

 

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

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

シミュレーターで作ったプログラムを試してみましょう。

シミュレーターのAボタンをクリックすると、2つ目のmicro:bitが表示されます。
(画面が小さいと表示されないことがあります)

もう一度Aボタンをクリックすると、もう一方のmicro:bitに送信した文字列が表示されます。

 

マイクロビットにプログラムを転送する

シミュレーターで正しく動くことを確認できたら、
2つ以上のマイクロビットにプログラムを転送して動かしてみましょう。

マイクロビットのAボタンをおすと、
他のマイクロビットがメッセージを表示するかどうか確認してください。

 

PR【30日間無料】100以上のプログラミング学習コンテンツが月額で受け放題/D-SCHOOLオンライン

まとめ

チュートリアル「マイクロチャット(Micro Chat)」について紹介しました。

今回使用したブロック

  • 「無線のグループを設定」ブロック
    無線通信のグループ番号(0~255)を設定します。
  • 「無線で文字列を送信」ブロック
    無線通信で、同じグループのマイクロビットに文字列を送信します。
  • 「無線で受信したとき(receivedString)」ブロック
    マイクロビットが無線で文字列を受信したとき、中に配置したプログラムを実行します。

 

おまけ

授業中にこっそり友だちの手紙のやり取りをしたことはないでしょうか?
楽しいですよね(先生ごめんなさい)

マイクロビットで気分を表すアイコンをやり取りするプログラムを作ってみました。

マイクロビットで気分を送受信する

  • Aボタンをおすと、うれしい顔
  • Bボタンをおすと、かなしい顔
  • AボタンとBボタンを同時におすと、ねてる顔

授業中に席のはなれた友だちと気分を共有してみてはいかがでしょうか?
注意:先生に怒られても責任は取りません!

 

今回は、数値を送信しているので
「無線で受信したとき」ブロックはreceivedNumberの方を使っています。

Stringは文字列、Numberは数字という意味。
receiveは受けるという意味です。

 

無線通信機能のくわしい使い方と作品例を下の記事で紹介しています。
よかったら見てみてくださいね。

 

タイトルとURLをコピーしました