供应
Arduino大师养成记_10_制作一个门铃
2023-02-13 21:30  浏览:277
制作一个门铃

蜂鸣器为一种发声元器件。而蜂鸣器分为有源蜂鸣器和无源蜂鸣器。(注意:这里得"源"不是指电源,而是指震荡源。)有源蜂鸣器内部带震荡源,只要一通电就会叫。而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。必须用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代码块编写