Skip to content

活动

光能测量仪

高级 | MakeCode, Python | LED显示器, 光传感器, 按钮 | 13 气候, 传感器, 变量, 输入/输出

第 1 步:制作

它是什么?

三个项目中的第一个项目,通过测量你使用的光量来了解你家中或学校中的能源使用情况。

这个光测量仪将帮助你测量你周围的灯开启或关闭时光亮水平如何变化,并为下一个项目找到放置光测量仪的最佳位置。

学习目标

  • 如何从micro:bit的传感器获取读数并将其存储在变量中,以便你可以反复查看同一读数,即使条件发生了变化
  • 找到用于记录可靠环境数据的地点

使用方法

  • 关上灯,将你的micro:bit放在你想要获取光亮读数的地方,然后按下按键A。
  • 移动micro:bit以便你可以轻松看到它的显示屏,然后按下B键查看光亮水平读数。 读数将是 0 (暗) 到 255(micro:bit能够测量到的最强亮度)之间的数字。
  • 如果你不能确定读数,你可以再次按B键。
  • 打开灯,再次按下A键来进行测量,然后按B键获取读数。
  • 找出打开灯、关闭灯时读数相差较大的地方。 远离有自然光的窗口,靠近电灯的地方最佳。 安装电灯的橱柜是理想的测量点。
  • 在灯保持开启的状态下进行几次读数,并找到平均读数。 该数字会在下一个项目“光能计时器”中用到。

工作原理

  • 此程序使用名为reading的变量来记录光亮值。 在程序开始运行、以及每次按下按键A时,这个变量都会被赋值。
  • 将光线传感器的读数保存在一个变量中,而不是直接显示它,这是一个很好的想法,因为这意味着一旦存储后,你可以反复查看此读数。
  • 使用变量也意味着你可以在难以查看显示的地方获取读数,而在更方便的地方查看光亮测量结果。

所需材料

  • micro:bit(或者MakeCode模拟器)
  • MakeCode或者Python编辑器
  • 电池盒(推荐)

第 2 步:编程

1from microbit import *
2
3display.show('M')
4reading = display.read_light_level()
5sleep(100)
6
7while True:
8    if button_a.was_pressed():
9        # take a light measurement and store it
10        reading = display.read_light_level()
11        display.show(Image.DIAMOND_SMALL)
12        sleep(400)
13        display.show(Image.DIAMOND)
14        sleep(400+500)
15        display.show('M')
16
17    elif button_b.was_pressed():
18        # display the stored light measurement
19        display.clear()
20        display.scroll(reading)
21        sleep(500)
22        display.show('M')
23

第 3 步:完善

  • 修改代码来计算读数的平均值。
  • 添加第二个micro:bit和无线电功能,以允许远程读取光亮水平。
  • 如果你能够访问其他单元里测量光亮水平的光测量仪,将它的读数和micro:bit的读数进行比较。
  • 使用光测量仪读数来制作一个计时器,以记录灯保持打开的时间