实验七:蜂鸣器发声
用Arduino 可以完成的互动作品有很多,最常见也最常用的就是声光展示了,前面一直都是在用LED 小灯在做实验,本个实验就让大家的电路发出声音,能够发出声音的最常见的元器件就是蜂鸣器和喇叭了,两者相比较蜂鸣器更简单和易用所以我们本实验采用蜂鸣器。
实验器材清单
- 蜂鸣器 1个(标有“+”号的连接8引脚)
- 按键 1个
- 面包板 1个
- 面包板跳线 1扎
实验原理图
连接电路时要注意一点就是蜂鸣器有正负极之分,下面右侧实物图可看到蜂鸣器有红黑两种接线。连接好电路程序这方面就很简单了,与前面按键控制小灯是实验程序类似,因为蜂鸣器的控制接口也是数字接口输出高低电平就可以控制蜂鸣器的鸣响。
参考源程序:
int buzzer=8;//设置控制蜂鸣器的数字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(i=0;i<100;i++)//发出另一个频率的声音
{
digitalWrite(buzzer,HIGH);//发声音
delay(2);//延时2ms
digitalWrite(buzzer,LOW);//不发声音
delay(2);//延时2ms
}
}
}
实验现象
下载完程序,蜂鸣器实验就完成了。
实验现象,蜂鸣器一直响。
程序代码
int buzzer=8;//设置控制蜂鸣器的数字IO脚
void setup()
{
pinMode(buzzer,OUTPUT);//设置数字IO脚模式,OUTPUT为辒出
}
void loop()
{
unsigned char i,j;//定义变量
while(1)
{
for(i=0;i<100;i++)//辒出一个频率的声音
{
digitalWrite(buzzer,HIGH);//发声音
delay(1);//延时1ms
digitalWrite(buzzer,LOW);//不发声音
delay(1);//延时ms
}
for(i=0;i<100;i++)//辒出另一个频率癿声音
{
digitalWrite(buzzer,HIGH);//发声音
delay(2);//延时2ms
digitalWrite(buzzer,LOW);//不发声音
delay(2);//延时2ms
}
}
}