Skip to content

活動

尋寶

中等級數 | MakeCode, Python | LED 螢幕, 無線電 | 無線電波, 通訊

步驟1:製作

這是什麼?

使用幾個micro:bits透過廣播通信製做物理尋寶遊戲。

一個micro:bit 和一張藏寶圖

運作方式

  • 就像 Heartbeat beacon project一樣,它使用兩種不同的程式,一種用於傳輸radio信號,以及另一個接收信號。
  • 將信標(發送器)程式燒錄到不同的micro:bits上,確保更改id變數中的數字,以使每個數字都不同。 信標燈會簡要地顯示其 ID 號碼在螢幕上,因此您知道哪個是哪個。 附加電池組,然後隱藏信標燈,每 200 毫秒(0.2秒)傳送一次其 ID 號碼。
  • 為尋寶者在 micro:bits 上燒錄接收器程式碼。 這個程式對所有接收器來說都適用。 當您接近一個信標燈時,接收器程式會顯示它正在廣播的 ID 號碼。 當您離得較遠時,螢幕會閃爍,當您離得較近時,會變得穩定。
  • 為遊戲制定自己的規則-記下數字以及在哪裡找到它們,或收集物理上的micro:bit信標。 和贏得最多的人組成一隊。

你需要的東西

  • 幾個micro:bits和電池組
  • 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:bits直接放在任何金属容器中,但是,如果将其放在纸板或塑料盒中,然后将其部分覆盖在其中, 例如,如果使用锡箔纸,无线电信号将不会传播到很远。
  • 發射無線電信號會消耗更多功率,因此您可以通過將兩次發射之間的延遲增加到200毫秒以上來使信標電池壽命更長。