用料
示例
声音由音量、音调和音色组成。 音量由声波的振幅决定。 音调由声波的频率决定。 音色由声波的波形决定。
在本例中,我们使用 PWM 控制蜂鸣器发出所需的音调。 由于 PWM 输出的是方波,如果我们想发出音调 C4(频率=262Hz),就必须使 PWM 输出波长为 1/262 = 3.8ms 的方波:
我们利用 PWM 输出不同频率的声波,从而通过蜂鸣器播放音乐。 将蜂鸣器连接到下图所示的 PWM 输出引脚上。
BW21-CBV-Kit 电路连接:
在 "文件"->"示例" -> "AmebaAnalog" -> "PWM_BuzzerPlayMelody" 中打开示例代码,编译并上传到 BW21-CBV-Kit,按下重置按钮。 然后就可以听到蜂鸣器播放音乐了。
代码参考
BW21-CBV-Kit 实现了 Arduino 的 tone() 和 noTone() 应用程序接口:
https://www.arduino.cc/en/Reference/Tone
https://www.arduino.cc/en/Reference/NoTone
在示例代码中,我们启动了一个旋律数组,用于存储要制作的音调。 另一个数组 noteDurations 包含每个音调的长度,4 表示四分音符(等于 3000ms/4 = 750ms,外加 30% 的停顿时间),8 表示八分音符。 |