Skip to content

活动

无线门报警器

高级 | MakeCode, Python | LED显示器, 指南针, 无线电 | 传感器, 关系运算符, 无线电波, 磁性, 选择, 通信

第 1 步:制作

它是什么?

当有人打开门或没关上门时,无线警报会警告您。

如何制作

  • 您需要两个micro:bit,每个上面有不同的代码。 一个micro:bit充当无线电发射器,另一个充当无线电接收器。
  • 将充当发射器的micro:bit和它的电池组固定到门框角上,并在靠近这个micro:bit的门角上固定一块磁铁。
  • 将充当接收器的micro:bit放在附近随便一个地方。
  • 如果报警器没有如您预期那样工作,您可能需要更改发射器代码中的磁力强度数值。 按下按钮A来显示当前的磁场强度读数。 通过在门打开和关闭时进行读数,用这个方式来指定阈值大小。

工作原理

  • 发射器程序使用micro:bit的指南针(磁力计)的输入和一个循环来每两秒测量一次磁场强度。
  • 发射器使用了选择结构,在磁场强度低于一个特定水平(也就是阈值)时,让它能够发送一个无线电信号”敞开“。 如果磁力读数高于阈值,那么它就发送信号”关闭“。
  • 充当接收器的micro:bit接收到信号”敞开“时,会在它的LED显示屏显示一个叉,并且会发出警报声。 当它接收到信号”关闭“时,它的LED显示屏会显示一个对勾并且不播放任何声音。

所需材料

  • 两个micro:bit和至少一个电池组
  • 一块磁铁
  • 一些粘合胶,用来将磁铁固定在门上,将micro:bit固定在门框上。
  • 如果您只有V1版本的micro:bit,而且像听到警报声,那么您可以准备一个耳机、蜂鸣器或扬声器,还有两条鳄鱼夹线用于连接

第 2 步:编程

传感器/发射器:

1from microbit import *
2import radio
3radio.config(group=17)
4radio.on()
5
6while True:
7    if button_a.was_pressed():
8        display.scroll(compass.get_field_strength())
9    if compass.get_field_strength() < 100000:
10        display.show(Image.DIAMOND_SMALL)
11        radio.send('open')
12    else:
13        display.clear()
14        radio.send('closed')
15    sleep(2000)
16

警报器/接收器:

1from microbit import *
2import music
3import radio
4radio.config(group=17)
5radio.on()
6
7while True:
8    message = radio.receive()
9    if message:
10        if message == 'open':
11            display.show(Image.NO)
12            music.play(["C4:4"])
13        if message == 'closed':
14            display.show(Image.YES)
15

第3步:完善

  • 使用多个micro:bit来通过发送不同的无线电消息(例如“back door open”)以追踪不同门的状态。
  • 使用变量来测量门保持打开状态的时间,这能帮助节省热能吗?