つれづれなる備忘録

日々の発見をあるがままに綴る

Tinkercadによるマイコンシミュレーション6

 今回はmicro:bitを用いた無線通信をシミュレーションする方法について紹介したい。

atatat.hatenablog.com

1. 無線通信の設定

Tinkercad上のmicro:bitで無線通信をシミュレーションを実行するには、2台のmicro:bitをドロップして、それぞれコードブロックで無線の送信または受信するためのコードを組み立てる。 今回は1台を親機、もう一方を子機として親機のAまたはBボタンが押されたら、それぞれ"A"または"B"という文字を子機に無線で送信し、子機側は受信した文字をLED上に表示する。

まず、無線通信する機器のグループ設定する必要があり、親機、子機とも出力>ラジオセットグループ "1"を開始時に設定する。

Aボタンが押されたときに、文字"A"を無線通信するには入力>ボタンA pressedを選択し、出力>ラジオが送信した文字列"A"を組み合わせる。 同様にBボタンが押されたときには入力>ボタンB pressedを選択し、出力>ラジオが送信した文字列"B"を組み合わせる。

"親機の設定"
親機の設定

子機側の設定は入力>ラジオが受信した文字を選択し、出力>文字列を表示を組み合わせる。ここでラジオが受信した文字を文字列を表示までドラッグすることで受信した文字をLEDに表示することができる。

"子機側の設定"
子機側の設定

2. シミュレーションの実行

 親機Bボタンを押したときのTinkercadのシミュレーションの実行結果を下に示す。赤色を親機、緑を子機に設定していて、Bボタンが押された場合の文字"B"が子機のLEDに表示されていることが確認できる。

"無線通信のシミュレーション結果"
無線通信のシミュレーション結果

ラジオセットグループを異なる番号に設定することで、無線通信の親機・子機のペアをそれぞれ設定できる。以下のシミュレーションは上側3台のmicro:bitをグループ1, 下側2台のmicro:bitをグループ2に設定し、赤は親機、緑はグループ1の子機、黄色をグループ2の子機とした。またグループ2は送信する文字を"a","b"と小文字にしている。コードブロックは基本的には親機/子機ともに同じで、グループと送信文字だけが異なる。

"2グループでの無線通信"
2グループでの無線通信

グループ1は親機のボタンBを押して、2台の緑色の子機のLEDに文字"B"を表示させ、またグループ2は親機のボタンAを押して黄色の子機のLEDに文字"a"を表示させている。

なおmicro:bitの"ラジオ"に使われている無線規格は以下によるとBLE(Bluetooth Low Energy)のようだ。

BBC Micro:bit - Wikipedia

3. まとめ

 ArduinoではI2Cなど有線での通信しかTinkercadはシミュレーションできなかったが、micro:bitでは無線通信が扱えるようになっており、IoTライクなシミュレーションを実行する上では都合がよい。