Skip to content

活动

寻宝

中级 | MakeCode, Python | LED显示器, 无线电 | 无线电波, 通信

第 1 步:制作

它是什么?

使用几个micro:bit通过无线电来开展寻宝游戏。

一个micro:bit和宝藏地图

工作原理

  • 心跳信标项目一样,本项目使用两个不同的程序,一个用于发射无线电信号,另一个用于接收信号。
  • 将信标(发射器)程序刷入到不同的micro:bit主板中,确保更改id变量数值来保证每一个micro:bit使用不同的数字。 各信标在显示屏上显示自己的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毫秒,从而延长信标电池可持续使用的时间。