STM32用有源蜂鸣器实现闹钟的声响

 有源蜂鸣器的声音是固定的,工作电压恒定,改变通断电的时间获得不同时长的音响,譬如连续音、快速短音、慢速长音(类似莫尔斯电报)来区分不同的报警信息。

简单的说,有源蜂鸣器只能发出一种声音,因为它的频率是固定的。只能根据响声的不同间隔长短来区分。

例如,闹钟是:滴滴~滴滴~滴滴~。

有源只要通电就响了,我们只要控制好通电的时间就好。

 

#include "mbed.h"



PwmOut PWM1(PB_13);

int main() {
    
    
     
while(1){
    
    
    
    
    PWM1 = 1;//
    wait(0.1);//响0.1s
    PWM1 = 0;//不响
    wait(0.1);//不响0.1s
    PWM1 = 1;//再响
    wait(0.1);//响0.1s
    PWM1 = 0;//不响
    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不响。

 

不能上传录音,上一张图:

 

posted @ 2015-12-25 23:50  wzb的QQ空间  阅读(7318)  评论(3编辑  收藏  举报