第 1 步:制作
它是什么?
制作一个声响级别测试仪,来监测你周围不同环境在不同时段的声响情况。
介绍
编程指南
学习目标
- 如何使用新版micro:bit的内置麦克风传感器测量声音的响度
- 收集真实世界的数据时,使用变量和运算符跟踪最大值
工作原理
- 新版micro:bit的麦克风将检测到的声响程度用数字0至255来表示,就像在光线传感器项目中一样。
- loop持续将当前的声响与变量maxSound中存储的最大声响值进行比较。 如果当前的声响比前一次大,则将重置maxSound为新的最大响度。
- 在loop循环中,使用if语句来判断你是否按下了按键A。若是, 则会将当前的音量值显示在LED显示屏输出上。 你可以通过这种方式来检测周围环境在不同时段的声响情况。
- 按micro:bit背面的重置按键可重置最大值。
所需材料
- 新版含音频设备的micro:bit(或者MakeCode模拟器)
- MakeCode或者Python编辑器
- 电池盒(选配)
第 2 步:编程
1from microbit import *
2maxSound = 0
3lights = Image("11111:"
4 "11111:"
5 "11111:"
6 "11111:"
7 "11111")
8# ignore first sound level reading
9soundLevel = microphone.sound_level()
10sleep(200)
11
12while True:
13 if button_a.is_pressed():
14 display.scroll(maxSound)
15 else:
16 soundLevel = microphone.sound_level()
17 display.show(lights * soundLevel)
18 if soundLevel > maxSound:
19 maxSound = soundLevel
20
第 3 步:完善
- 修改项目,使其也记录最安静或最小的声音
- 使用无线电将声响级别发送到另一个micro:bit,以便可以进行远程监测
This content is published under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) licence.