熊おふし五郎が行く

主にマイコンボードを動かした記録を書いています

別のMicro:bitと無線で通信する

概要

Aボタンを押すとLEDディスプレイに"A"を表示し、無線通信で別のMicro:bitのLEDディスプレイに"a"を表示します。 Bボタンを押した場合も同様です。

f:id:bear_9973:20200614172210p:plain
概要図

関数一覧

Micro:bitの簡易な無線ネットワークを実行する関数を使います。

radio.send(message)

文字列のmessageを他のMicro:bitに送信します。

radio.receive()

文字列のmessageを他のMicro:bitから受信します。

プログラム

プログラムを以下に示します。

from microbit import *
import radio

radio.config(group=1)
radio.on()

while True:

    send_msg = None
    show_msg = None
    if button_a.was_pressed():
        send_msg = "a"
        show_msg = "A"
    elif button_b.was_pressed():
        send_msg = "b"
        show_msg = "B"

    if send_msg is not None and show_msg is not None:
        radio.send(str(send_msg))
        display.show(str(show_msg))

    rec_msg = radio.receive()
    if rec_msg is not None:
        display.show(str(rec_msg))

結果

2つのMicro:bitの無線通信ができました。
Micro:bitが数個あれば、次の図のように、配線不要で設置箇所を選ばずに様々な用途での温度計測ができる、温度データロガーのシステムが作れそうと思いました。可能性がひろがりますね。

f:id:bear_9973:20200614172436p:plain:w500
Micro:bitを使ったネットワーク