第一个问题:你只能让蜂鸣器发出嘀嘀嘀,嘀嘀嘀的声音,实际上这个声音是一个有频率触发的,我看你的代码定时器来实现蜂鸣器的翻转,这里你可能弄复杂了,实际上,滴是蜂鸣器按照一定频率翻转产生的声音,假定是10khz,如果让定时器以10k的频率翻转蜂鸣器,那么出来就是一长串滴的声音,按照楼主的需求,需要分成等级急促滴的声音,那么可以1s或者0.5s,0.25s的频率来开启关闭定时器,那么这样出来的滴滴声就会有三个不同的急促性了。
第二个问题:根据不同距离实现不同的声音,其实楼主已经把这部分写在代码里了,代码中有一项:Acoustic_Distance<80,这里是判断超声波传感器的距离,那么这个距离设置<20,>20且<50,>50且<100,就可以分成三个等级,设置三个不同的标志位,对应第一个问题中提到的三个不同急促频率就可以了呀。
那種便宜Sensor其實不太準確的
只能做做簡單的不嚴格應用
另外您喇叭是無源的話需要PWM來驅動音頻高低
51本身可以用定時器來做
if判斷是可以用
else if來調控不同距離發出不同頻率的pwm
以上