micro:bitを2つで無線通信するのを試してみた

micro:bitを2つで無線通信するのを試してみた。

BluetoothやBLEを使いたいのだが、いろいろ問題があり、代わりに簡単なNordic Semiconductorのプロトコルを使った無線方式の機能を使ってみた。


micro:bitの公式のチュートリアルの無線通信の紹介ページには、ホタルというmicroPythonのサンプルコードが載っている。
無線通信 — BBC microbit MicroPython 0.5.0 ドキュメント

これをベースにして、AボタンやBボタンを押したらた通信先のLEDにAかBが表示されるというmicroPythonプログラムに改造してみた。
(micro:bitのmicroPythonについては、こちらを参照。)

import radio
from microbit import display, Image, button_a, button_b, sleep

display.show(Image.HAPPY)
radio.on()
while True:
    if button_a.was_pressed():
        radio.send('A-button')
    if button_b.was_pressed():
        radio.send('B-button')
    incoming = radio.receive()
    if incoming == 'A-button':
        display.show('A')
        sleep(500)
        display.show(' ')
    if incoming == 'B-button':
        display.show('B')
        sleep(500)
        display.show(' ')

micro:bit実機2台にこのプログラムを書き込んで動作させてみる。

最初は、2台のmicro:bitの両方にHAPPYマークが表示されている。

写真左側のmicro:bitのAボタンを押すと、右側のmicro:bitのLEDに「A」と表示される。

写真左側のmicro:bitのBボタンを押すと、右側のmicro:bitのLEDに「B」と表示される。

写真右側のmicro:bitのAボタンを押すと、左側のmicro:bitのLEDに「A」と表示される。

写真右側のmicro:bitのBボタンを押すと、左側のmicro:bitのLEDに「B」と表示される。

micro:bitに何かスイッチとかセンサーをつなげておいて、家のドアだとか洗濯機のフタだとかの開閉の情報を無線で別のmicro:bitに飛ばしてそれをPCやIoTなマイコンにさらにつないで家の中をIoT化とかできそうだな。と考えている。

(ただ、micro:bitはちょっと高いのでESPマイコンを使った方が安く済むのかも)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.

43 + = 46