Skip to content

活动

光报警器

高级 | MakeCode, Python | LED显示器, 光传感器, 声音, 无线电 | 传感器, 关系运算符, 灯光, 能源, 迭代, 选择, 通信

第 1 步:制作

它是什么?

无线电遥控警报器,当有人打开灯或打开抽屉或提包时会触发警报。

一个光源照在micro:bit上,无线电正在发送信息,micro:bit显示出一张愤怒的脸。

工作原理

  • 类似于光线传感器项目,这里将micro:bit的LED用作光线传感器来测量显示器上的光量。
  • 使用循环,光线传感器程序每10秒发送无线电消息以说明光照强弱。 通过使用selection语句来选择发送的字符串,如果测光值大于50,将发送“lights on”消息;如果光量小于50,则发送“lights off”消息。 你可能需要根据你周围的照明条件更改这些值。
  • 按下输入按键A会在LED显示器输出上显示光量值,这将帮助你设置警报,你可以将50更改为适合你环境的最佳数字。
  • 警报程序会在收到消息时作出反应。 如果消息等于“lights off”,则清除LED显示屏,但是如果消息等于“lights on”,则显示愤怒的脸并播放“BADDY”警报声音
  • 请确保你的传感器和报警程序使用相同的无线电组——0至255之间的任何数字。

所需材料

  • 2个micro:bit和至少1个电池包
  • 准备一个需要确保安全的珍贵物品
  • 可选的耳机、 蜂鸣器或电源扬声器

第 2 步:编程

传感器/发射器:

1from microbit import *
2import radio
3radio.config(group=5)
4radio.on()
5
6while True:
7    if button_a.was_pressed():
8        display.scroll(display.read_light_level())
9    if display.read_light_level() > 50:
10        radio.send('lights on')
11    else:
12        radio.send('lights off')
13    sleep(10000)
14

警报器/接收器:

1from microbit import *
2import music
3import radio
4radio.config(group=5)
5radio.on()
6
7while True:
8    message = radio.receive()
9    if message:
10        if message == 'lights off':
11            display.clear()
12        elif message == 'lights on':
13            display.show(Image.ANGRY)
14            music.play(music.BADDY)
15

第3步:完善

  • 将本项目与倾斜报警器项目结合使用,以感测物体被移动或被照亮。
  • 修改程序使警报器以其它方式运行,以便在有人关灯时将其关闭。
  • 调整程序来监测能源使用情况:使用变量来跟踪灯光开启的秒数,当灯亮时间过长时触发警报。