Skip to content

活动

吉他3 - 八度音阶

高级 | MakeCode, Python | 声音, 引脚 | 乘法, 变量, 和声, 声音, 电力, 电子器件, 算数运算符, 除法

第 1 步:制作

它是什么?

通过将音高调高或降低八度来改善你的micro:bit吉他。

将耳机连接到micro:bit引脚0和GND,锡箔纸焊盘连接到引脚1、2和GND

工作原理

  • 将micro:bit连接到耳机或扬声器,以便可以听到声音
  • 将金属箔焊盘连接到micro:bit的引脚,就像在吉他1吉他2项目中一样。
  • 本程序没有使用音乐符号来演奏音符,而是将每个音符的频率存储在变量F、A、C和E中。
  • 触摸引脚1或引脚2和GND时,会演奏不完整的和弦,但是现在可以通过按下按键A将和弦向下调节一个八度(降低音调),并通过按下按键B将和弦向上调节一个八度(提高音调)。
  • 当向上调节一个八度音阶时,音符的音高(频率)会加倍:中音A的频率为440Hz(每秒440次振动),高音A的频率为880Hz。 这就是为什么用手指弹奏,使吉他弦的振动部分具有不同的长度会改变所弹奏音符的音高的原因。
  • 按键A、B将储存在每个变量中的频率数字减半、加倍,从而实现将每个音符降低或提高一个八度的效果。

所需材料

  • micro:bit和可选电池套装
  • 耳机、 蜂鸣器或扬声器
  • 5条鳄鱼夹线
  • 可选的硬纸板、锡箔纸、胶水和剪刀,以用于制作吉他或键盘

第 2 步:编程

1from microbit import *
2import music
3F = 349
4A = 440
5C = 523
6E = 659
7
8while True:
9    if pin1.is_touched():
10        music.pitch(int(F), 500)
11        music.pitch(int(A), 500)
12        music.pitch(int(C), 500)
13    if pin2.is_touched():
14        music.pitch(int(A), 500)
15        music.pitch(int(C), 500)
16        music.pitch(int(E), 500)
17    if button_a.was_pressed():
18        F = F / 2
19        A = A / 2
20        C = C / 2
21        E = E / 2
22    if button_b.was_pressed():
23        F = F * 2
24        A = A * 2
25        C = C * 2
26        E = E * 2
27        

第3步:完善

  • 制作一个吉他形状的纸板,然后将micro:bit固定在其上,以便竖立。
  • 如果你将八度升得太高或降得太低将会导致程序无法运行,而且你也无法听到频率太高或太低的声音。 修改程序以阻止这种情况发生。
  • 根据倾斜micro:bit的方式提高或降低节奏。