OCROBOT入门教程011--蜂鸣器
本帖最后由 董董soul 于 2016-10-27 10:59 编辑蜂鸣器分电磁式和压电式,每种里面还会分有源与无源。这里的“源”不是指电源,而是指震荡源。也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫;而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。必须用2K-5K的方波去驱动它。有源蜂鸣器往往比无源的贵,就是因为里面多个震荡电路。
这节课我们驱动一个阻抗为16Ω的无源蜂鸣器,让他发出声音。
我们看一下硬件连接图
程序部分我们试用数字引脚输出,然后通过delay控制延时来输出一个振荡源。
int buzzer=7;//设置控制蜂鸣器的数字IO脚
void setup()
{
pinMode(buzzer,OUTPUT);//设置数字IO脚模式,OUTPUT为输出
}
void loop()
{
unsigned char i,j;//定义变量
while(1)
{
for(i=0;i<80;i++)//输出一个频率的声音
{
digitalWrite(buzzer,HIGH);//发声音
delay(1);//延时1ms
digitalWrite(buzzer,LOW);//不发声音
delay(1);//延时ms
}
for(j=0;j<100;j++)//输出另一个频率的声音
{
digitalWrite(buzzer,HIGH);//发声音
delay(2);//延时2ms
digitalWrite(buzzer,LOW);//不发声音
delay(2);//延时2ms
}
}
}
http://player.youku.com/player.php/sid/XNzEzMTAzODky/v.swf while里面的第二个for应该是j变量吧 熊娃子 发表于 2015-6-18 09:28 static/image/common/back.gif
while里面的第二个for应该是j变量吧
确实。。。马上去修改。。。 同一个蜂鸣器模块,原先可以接高电平一直响的,现在居然不行了 :):):):):):):):)
页:
[1]