Skip to content

活动

夜灯

初学者 | MakeCode, Python | LED显示器, 光传感器 | 传感器, 灯光, 系统和控制, 输入/输出, 迭代, 选择

第 1 步:制作

它是什么?

您的BBC micro:bit会在黑暗中亮起它的LED显示屏,成为一盏夜灯。

介绍

编程指南

这个项目把micro:bit的LED作为一个光线传感器 输入,在周围变暗时让一个灯自动打开。

micro:bit的光线传感器的亮度范围是0(非常暗)到255(非常亮)。

工作原理

  • 代码里的无限循环让micro:bit不断去测量周围的亮度。
  • 这里使用了逻辑判断来决定是否打开LED灯。 条件判断指令(if...then...else)用来决定是否打开LED灯。
  • 如果周围的亮度低于100,micro:bit显示屏的LED灯会被点亮。 其他情况,程序会用清空屏幕显示的方式关闭所有LED灯。
  • 覆盖显示屏或者用别的光源照着它,看看LED灯能否在黑暗时亮起。
  • 根据您周边环境的亮度,或许需要调整下面程序代码里的100这个数字。 调整成更大的数字,可以让灯更容易亮起。 调整成更小的数字,让灯只在非常暗的时候亮起。

所需材料

  • micro:bit或者是MakeCode模拟器
  • MakeCode 或者 Python 编辑器
  • 电池盒(选配)
  • 光源和覆盖micro:bit的东西

第 2 步:编程

1from microbit import *
2
3while True:
4    if display.read_light_level() < 100:
5        display.show(Image(
6        "99999:"
7        "99999:"
8        "99999:"
9        "99999:"
10        "99999"))
11    else:
12        display.clear()
13    sleep(2000)
14

第3步:完善

  • 更改图像以在黑暗的环境下显示月亮或星星。
  • 将micro:bit装在你的包包或衣服上,以在步行或骑自行车时将其用作额外的安全灯 – 你能否使其闪烁以加强效果?
  • Try this MakeCode project that makes the LED display get lighter and darker depending on the amount of light falling on the micro:bit. 你还能在其他地方看到以这种方式对光做出反应的事物吗?