マイクロビットの無線について紹介したいと思います。今まで紹介してきたレッスンには、無線のレッスンがありません。表記上無線を使うというレッスン『スマイリーボタン』、『Flashing Heart』がありますが、実際には使われていません。
当記事は、シリーズでマイクロビット(Micro:bit)のプログラミングについて紹介しています。初めての方はこちらをご覧ください。
訳者注:当サイトのマイクロビットのレッスンの紹介記事ですが、以下の順で見ていただけるとマイクロビットのホームページのレッスン順になります。
micro:bit(マイクロビット)で学ぶ 1→micro:bit(マイクロビット)で学ぶ 2『温度のアクティビティー』→19『アンサリングマシン』→20『数当てゲーム』→ 5『サイコロ』→ 6『トゥルース・オア・デア』→8『マジック8ボール』→21『ラブメーター』→3『じゃんけんゲーム1』→4『じゃんけんゲーム2』→7『マジックボタン』→当記事→シリアル通信の紹介
無線について
まず、上の手順でブロックエディターを開いてください。もし、前に作成中のプログラムが表示された場合は、保存してから左上にある『プロジェクト』メニューをクリックして『新しいプロジェクト』をクリックしてください。最初は、『最初だけ』ブロックと『ずっと』ブロックだけがプログラミングエリアにあります。
レッスン内容『メッセージを送る』
Micro:bitのホームページに無線のレッスンがありませんので、以下のプログラムを作っていきたいと思います。
2台のMicro:bitを使い、Aボタンを押したら相手のMicro:bitに『Hello』と表示し、Bボタンを押したら『Hi』と表示するプログラムです。
レッスン目標子供たちは、次のことができるようになります。
- 無線を使って、友達のMicro:bitにメッセージを送ることができる
まず、無線の設定を行います。ブロック種類選択メニュー『無線』から『無線のグループを設定』ブロックをドラッグして、ワークスペースの『ずっと』ブロックに組み込みます。無線グループIDを同じにしないとMicro:bit同士で無線で通信できません。0から255まで指定できますので、例えばクラス全員で実習するような場合、2人ずつのペアにそれぞれ異なったグループIDを決めておけば、他のペアに影響なく実習できます。
ブロック種類選択メニュー『基本』から『アイコンを表示』ブロックを選択して、『ずっと』ブロックに組み込みます。ワークスペースは以下のようになります。この例ではグループIDを1にしました。
ここから、メッセージを送信するプログラムを作成します。ブロック種類選択メニュー『入力』から『ボタンAが押されたとき』ブロックと、ブロック種類選択メニュー『無線』から『無線で文字列を送信』ブロックを選択して、文字列を『Hello』と入力します。ワークスペースは以下のようになります。
ステップ3同様に、ボタンBが押された時に、無線で『Hi』を送るブロックを作ります。ワークスペースは以下のようになります。
ここから、メッセージを受信したときのプログラムを作ります。ブロック種類選択メニュー『無線』から『無線で受信したとき』ブロックと、ブロック種類選択メニュー『基本』から『文字列を表示』ブロックを選択して、組み合わせます。
ブロック種類選択メニュー『変数』から『recievedString』ブロックを選択して、『文字列を表示』ブロックの『Hello!』部分に組み込みます。『recievedString』は、他のMicro:bitの『無線で文字列を送信』で送られたものを受け取った文字列のことです。ワークスペースは以下のようになります。
実際にプログラムをMicro:bitにコピーする前に、Makecodeで問題がないか確認します。Makecode上のMicro:bitのAボタンを押すと、下側に2枚目のMicro:bitが表示されますので、もう一度上側のMicro:bitのAボタンを押します。
下側のMicro:bitに『Hello!』が表示されます。
これでプログラムは完成です。
ステップ7Makecodeの左下でプログラム名を決めて保存ボタンを押します。この例では『無線サンプル』としました。
ダウンロードフォルダーに『microbit-無線サンプル.hex』というファイルが出来上がっていますので、2台のMicro:bitにそれぞれコピーします。これでメッセージを送ることができますので、試してみてください。
チャレンジこれでレッスンは終了ですが、チャレンジとして以下の機能を追加してみてください。
- メッセージを複数準備して、Micro:bitを振って選択してからAボタンを押して友達にランダムなメッセージを送る。
上記の回答は、次の記事で無線のブロックとMicropythonを対比して紹介したいと思いますので、その記事で紹介します。
最後まで記事をお読みいただきありがとうございます。
記事の改善に役立てたいと思いますので、よろしければアンケートにご協力ください。
コメントを書く