【教程】小安派BW21-CBV-Kit——PWM之蜂鸣器播放音乐

[复制链接]
查看11 | 回复0 | 前天 11:13 | 显示全部楼层 |阅读模式

用料

示例

声音由音量、音调和音色组成。 音量由声波的振幅决定。 音调由声波的频率决定。 音色由声波的波形决定。

在本例中,我们使用 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 表示八分音符。

用心做好保姆工作
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则