蜂鸣器为一种发声元器件。而蜂鸣器分为有源蜂鸣器和无源蜂鸣器。(注意:这里得"源"不是指电源,而是指震荡源。)有源蜂鸣器内部带震荡源,只要一通电就会叫。而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。必须用2K-5K得方波去驱动它。
单片机驱动无源蜂鸣器得方式有两种:一种是PWM 输出口直接驱动,另一种是利用I/O 定时翻转电平产生驱动波形对蜂鸣器进行驱动。
有源蜂鸣器与无源蜂鸣器得区别如图:
有源蜂鸣器底部为黑胶,而无源蜂鸣器底部可见绿色电路板。无论有源还是无源蜂鸣器都是标注了“+”得引脚为正脚。
实验器件:■ 蜂鸣器器:1 个
■ 面包板:1个
■按键:1个(拓展实验)
■ 多彩面包板实验跳绳:若干
实验连线1.将蜂鸣器插入到面包板上。
2.将无源蜂鸣器得正极接到开发板上得8脚,负极接到GND。这样就完成了连线,将代码上传到开发板。
程序编写程序代码:
int buzzer=8;//设置控制蜂鸣器得数字8 脚
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);//延时1ms
}
for(i=0;i<100;i++)//输出另一个频率得声音
{
digitalWrite(buzzer,HIGH);//发声音
delay(2);//延时2ms
digitalWrite(buzzer,LOW);//不发声音
delay(2);//延时2ms
}
}
}
实验结果:能够听到蜂鸣器发出两个不同得声音。
按键门铃得制作程序编写
volatile int menling;
void setup()
{
pinMode(7, INPUT);
menling = digitalRead(7);
pinMode(8, OUTPUT);
}
void loop()
{
if (digitalRead(7) == HIGH) {
tone(8,600);
delay(1000);
} else {
noTone(8);
}
}
MIXLY代码块编写