前回の記事までで、無線とシリアル通信以外のブロックエディターとMicropythonの対比説明は完了しました。今回は2台のMicro:bitがそろい動作確認ができましたので、無線のブロックとMicropythonについて紹介します。
当記事は、シリーズでマイクロビット(Micro:bit)のプログラミングについて紹介しています。初めての方はこちらをご覧ください。
以下の説明とサンプルプログラムは、こちらのページの内容を私なりに、ブロックエディターと比較してmicropythonで記述する例を紹介しています。
前回の記事『無線』レッスンのチャレンジ回答例
チャレンジは、『メッセージを複数準備して、Micro:bitを振って選択してからAボタンを押して友達にランダムなメッセージを送る』でした。以下、その1例です。Micro:bitを振った時に乱数0~3を発生させて、0『Hello』、1『Hi』、2『Great』、3『Not bad』のメッセージを送信し、受け取ったメッセージを表示するプログラムです。
無線ブロックについて
ブロック | micropython |
該当ブロック無し | import radio :プログラムの中で無線を使うためには、最初に宣言しておく必要があります。 radio.on():無線機能を使う前にオンにする必要があります。 radio.off():無線機能を使わないときはオフにします。 radio.config():無線で送るバイト数や無線の強さなどを指定できますが、デフォルト値で通常は使えると思いますので説明はpdf資料作成時に含めます。グループID設定など1部のブロックがあります。 radio.reset():radio.config()で変更した値をデフォルト値に戻します。 |
1.無線で数値、文字列を送信 |
radio.send(message) 無線でmessageをブロードキャストします。messageを受け取れるのは、後述する同じグループIDを持ったMicro:bitだけです。 |
2.無線で受信したとき |
radio.receive() 無線で送られたmessageを受け取ります。messageを受け取れるのは、後述する同じグループIDを持ったMicro:bitだけです。 |
3.無線のグループを設定 |
radio.config(group=1) 無線通信のグループIDを設定します。同じグループIDが設定されたMicro:bitからのパケットだけを受信します。0から255の間で設定できます。デフォルト値は0です。 |
4.無線の送信強度を設定 |
radio.config(power=7) 無線通信での無線強度を設定します。0から7の間で設定できます。デフォルト値は6です。 |
5.シリアル番号の送信 |
実装されていないようです。継続調べます。 |
6.無線で受信したパケットをシリアルポートに書き込む |
特に実装されていないようです。なぜこのブロックが必要かわかりません。高度なブロックのシリアル通信のブロックを使えば、特に必須なブロックでは無いような気がします。何か分かればまた更新します。
|
ボタンAを押したら『Hello』、ボタンBを押したら『Hi』を送信し、受け取ったメッセージを表示するプログラム |
無線についての紹介は以上です。次はシリアル通信について紹介予定です。
最後まで記事をお読みいただきありがとうございます。
記事の改善に役立てたいと思いますので、よろしければアンケートにご協力ください。
コメントを書く