Skip to content

アクティビティ

宝探し

中級 | MakeCode, Python | LED表示, 無線 | 通信, 電波

ステップ1: 作る

説明

micro:bitを複数台使用して、無線通信を使った物理的な宝探しゲームを作ります。

micro:bitと宝物地図

動作の仕組み

  • 心拍ビーコンプロジェクトのように、二つの異なるプログラムを使用します。一台は無線信号を送信し、もう一台はその信号を受信します。
  • 異なる複数のmicro:bitにビーコン(送信機)プログラムを書き込み、それぞれのプログラムのid 変数の値が、違う数になるようにします。 ビーコンにはID番号が短時間表示されるので、どれがどれだかがわかります。 バッテリーパックを取り付けてから、200ミリ秒(0.2秒)ごとにID番号を送信するビーコンを隠します。
  • トレジャーハンター用micro:bitに受信機コードを書き込みます。 このプログラムは、受信者全員で同じものになります。 ビーコンに近づくと、受信プログラムはそのビーコンから発信されているID番号を表示します。 遠くにいると、ディスプレイは点滅し、近づくにつれて表示されたままになります。
  • ゲームのルールを決めましょう - 数字とその数字を見つけた場所をメモするやり方でもいいですし、micro:bitビーコンを見つけて集めるやり方でもいいでしょう。 一番多いチームが勝ちです。

必要なもの

  • micro:bitとバッテリーパック数セット
  • MakeCodeまたはPythonエディター
  • ビーコンを隠すための適度に広い空間 - 屋内または屋外で構いません

ステップ2: プログラムする

ビーコン/送信機

1from microbit import *
2import radio
3radio.config(group=1, power=1)
4radio.on()
5id = '1' # change this number for each beacon
6display.show(id)
7sleep(2000)
8display.clear()
9
10while True:
11    radio.send(id)
12    sleep(200)
13

受信機

1from microbit import *
2import radio
3radio.config(group=1)
4radio.on()
5
6while True:
7    message = radio.receive()
8    if message:
9        display.show(message)
10        sleep(200)
11        display.clear()
12

ステップ3: 改善する

  • 送信機の送信強度を変えて、広いまたは狭い範囲をカバーしましょう。 送信強度は0から7の間の数字で設定することができます。
  • ビーコンの電波出力をさらに低下させ、見つけにくくしましょう。micro:bitを金属製の容器に直接入れないよう注意してください。 例えば、段ボールやプラスチック箱に入れてアルミホイルで箱の外側を部分的に覆うと無線信号は遠くまでは届きません。
  • 無線信号の送信は、電力を多く消費します。 送信間隔を200ミリ秒以上に延せば、ビーコン電池を長持ちできます