Skip to content

活动

拍手心跳

初学者 | MakeCode, Python | LED显示器, 麦克风 | 输入/输出

第 1 步:制作

这是什么?

让新版micro:bit的麦克风响应拍掌节拍,用动态灯光随之变化。

介绍

编程指南

学习目标

  • 计算机如何获取输入、使用代码处理它们,并产生不同的输出
  • 如何使用新版micro:bit的内置麦克风传感器来触发你代码中的事件
  • micro:bit的麦克风可用来响应安静和响亮的声音

工作原理

  • 当麦克风检测到声音响亮时,例如拍掌,它会在LED显示器上显示一个大的心形。
  • 如果它检测到较安静的声音,例如在拍掌之后,它会显示一个小的心形。
  • 这样做的效果是制作出一个简单的心形动画,对音乐中的拍掌或者强烈的节拍做出反应。

所需材料

  • 含音频设备(或者MakeCode模拟器)的新版micro:bit
  • MakeCode或者Python编辑器
  • 电池盒(选配)

第 2 步:编程

1from microbit import *
2
3while True:
4    if microphone.current_event() == SoundEvent.LOUD:
5        display.show(Image.HEART)
6        sleep(200)
7    if microphone.current_event() == SoundEvent.QUIET:
8        display.show(Image.HEART_SMALL)

第 3 步:完善

  • 使用其他图标或绘制你自己的图片创建你自己的动画。
  • 让micro:bit响应自己发出的响亮声音。 这是否会引起任何问题? 你如何解决这个问题?
  • 你可以更改触发响亮声音事件的声音级别。 此声音级别称为阈值。 在MakeCode中,使用“set loud sound threshold to...”输入块来选择不同的声音级别,让它对声音更敏感或相反。
  • 在Python中,要更改声音的阈值,请使用microphone.set_threshold(SoundEvent.LOUD, 128) -- 将数字128更改为0到255之间的任何你想要的数。