有源蜂鸣器的声音是固定的,工作电压恒定,改变通断电的时间获得不同时长的音响,譬如连续音、快速短音、慢速长音(类似莫尔斯电报)来区分不同的报警信息。
简单的说,有源蜂鸣器只能发出一种声音,因为它的频率是固定的。只能根据响声的不同间隔长短来区分。
例如,闹钟是:滴滴~滴滴~滴滴~。
有源只要通电就响了,我们只要控制好通电的时间就好。
#include "mbed.h" PwmOut PWM1(PB_13); int main() { while(){ PWM1 = ;//响
wait(0.1);//响0.1s
PWM1 = ;//不响
wait(0.1);//不响0.1s
PWM1 = ;//再响
wait(0.1);//响0.1s
PWM1 = ;//不响
wait(0.6);//不响0.6s } }//end main
以上就可以实现,滴0.1s滴0.1s (0.6s后)滴0.1s滴0.1s (0.6s后)滴0.1s滴0.1s
人耳听起来就是常见的闹钟 滴滴~滴滴~滴滴~的效果。
这里PWM波,换成DigitalOut也是一样的,PWM波并没有什么特殊的意义。
我只是测试PWM有什么影响没有。
改变PWM波的频率,蜂鸣器的声调没有变化。
改变PWM波的大小,例如PWM1=0.5,会发出那种不稳定的颤抖的声效,没什么用。
所以有源蜂鸣器只是能响而已,声音固定的。
电平=1就响,=0不响。
不能上传录音,上一张图: