蜂鸣器
853387039@qq.com(讨论 | 贡献)2015年10月20日 (二) 05:30的版本
Language | English |
---|
目的本教程将通过三个案例介绍如何使用Microduino蜂鸣器。 设备
简介一般蜂鸣器分为有源蜂鸣器和无源蜂鸣器。Microduino蜂鸣器采用的是无源蜂鸣器。
实验一:让蜂鸣器响起来搭建模块电路
调试
#define buzzer_pin 6 //定义蜂鸣器驱动引脚
#define buzzer_fre 600 //定义蜂鸣器输出频率
void setup()
{
pinMode(buzzer_pin,OUTPUT);
}
void loop()
{
tone(buzzer_pin,buzzer_fre); //驱动蜂鸣器
}
在工具的板卡中选择Microduino-Core USB,端口中选择好对应的端口号(COMXX)。点击向右的箭头(—>)下载程序,出现上传完成提示,程序就已经写进CoreUSB模块中了。 成功之后可以听到蜂鸣器发出响声了。
实验二:蜂鸣器报警
#define buzzer_pin 6 //定义蜂鸣器驱动引脚
void setup()
{
pinMode(buzzer_pin,OUTPUT);
}
void loop()
{
for(int i=200;i<=800;i++) //用循环的方式将频率从200HZ 增加到800HZ
{
tone(buzzer_pin,i); //在四号端口输出频率
delay(5); //该频率维持5毫秒
}
delay(2000); //最高频率下维持2秒钟
for(int i=800;i>=200;i--)
{
tone(buzzer_pin,i);
delay(10); //该频率维持10毫秒
}
}
“for(int i=200;i<=800;i++)”说明:i的值开始为200,然后for函数执行一次i的值加1,直到i大于800时才退出for循环。用户可以更改相关参数观察蜂鸣器有啥变化。
实验三:播放歌曲
#define buzzer_pin 6 //定义蜂鸣器驱动引脚
int song[] = {
262, 262, 294, 262, 349, 330,
262, 262, 294, 262, 392, 349,
262, 262, 523, 440, 349, 330, 294,
494, 494, 440, 349, 392, 349
};
int noteDurations[] = {
4, 4, 2, 2, 2, 1,
4, 4, 2, 2, 2, 1,
4, 4, 2, 2, 2, 2, 2,
4, 4, 2, 2, 2, 1
};
void setup() {
pinMode(buzzer_pin, OUTPUT);
}
void loop() {
song_play();
}
void song_play()
{
for (int thisNote = 0; thisNote < 25; thisNote++)
{
int noteDuration = 1000 / noteDurations[thisNote];
tone(buzzer_pin, song[thisNote], noteDuration);
int pauseBetweenNotes = noteDuration * 1.20;
delay(pauseBetweenNotes);
noTone(buzzer_pin);
}
}
“song_play()”为播放音乐函数,“song[]”里面存放音调(频率),“noteDurations[]”为节拍。
|