“蜂鸣器”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
(Created page with "{| style="width: 800px;" |- | ==目的== 本教程将教大家如何使用Microduino的蜂鸣器。 ==设备== *'''Microduino-CoreUSB/zh''' *'''Microduino-BUZZER/zh'...")
 
设备
 
(未显示2个用户的2个中间版本)
第1行: 第1行:
 +
{{Language| 蜂鸣器}}
 
{| style="width: 800px;"
 
{| style="width: 800px;"
 
|-
 
|-
第4行: 第5行:
 
==目的==
 
==目的==
  
本教程将教大家如何使用Microduino的蜂鸣器。
+
本教程将通过三个案例介绍如何使用Microduino蜂鸣器。
 +
[[File:MicroduinoBuzzer.jpg|600px|center]]
  
 
==设备==
 
==设备==
*'''[[Microduino-CoreUSB/zh]]'''
+
*'''[[mCookie-CoreUSB/zh]]'''
 
*'''[[Microduino-BUZZER/zh]]'''
 
*'''[[Microduino-BUZZER/zh]]'''
*'''[[Microduino-Sensorhub/zh]]'''
+
*'''[[mCookie-Hub/zh]]'''
 
 
 
 
 
 
 
 
 
*其他硬件设备
 
*其他硬件设备
 
**USB数据连接线  一根
 
**USB数据连接线  一根
 +
[[File:MicroduinoBuzzer-Equipment.jpg|600px|center]]
  
 +
==简介==
 +
一般蜂鸣器分为有源蜂鸣器和无源蜂鸣器。Microduino蜂鸣器采用的是无源蜂鸣器。
 +
*有源蜂鸣器
 +
**内部有振荡、驱动电路。加电压信号(高电平)就可以响。
 +
***优点:是用起来方便。
 +
***缺点:频率固定了,就只一个单音。
 +
*无源蜂鸣器
 +
**无源内部不带震荡源,用直流信号无法令其鸣叫。必须用变化的电源信号才能驱动它。
 +
***优点:声音频率可控,可以做出“多来米发索拉西”的效果。
 +
***缺点:控制稍微复杂。
  
==程序==
+
==实验一:让蜂鸣器响起来==
 
+
===搭建模块电路===
 
+
*Setup 1:用连接线将传感器安装到Hub模块的相应接口(6)上。
==调试==
+
[[File:MicroduinoBuzzer-D6.jpg|600px|center]]
 
+
*Setup 2:将Hub模块与CoreUSB模块无上下顺序叠加起来。
步骤一:
+
[[File:MicroduinoBuzzer-hub-coreusb.jpg|600px|center]]
把Microduino蜂鸣器插到Microduino-SensorHub的D6引脚。
 
[[File:MicroduinoBuzzerSensor.png|600px|center|thumb]]
 
  
 +
===调试===
 +
*Setup 1:用USB线将CoreUSB模块与PC/Mac相连,并打开Arduino IDE。
 +
[[File:CoreUSB_Ble_pc.jpg|600px|center]]
 +
* Setup 2:加载代码,将程序代买拷贝到IDE中。
 +
<source lang="cpp">
 +
#define buzzer_pin 6 //定义蜂鸣器驱动引脚
 +
#define buzzer_fre 600 //定义蜂鸣器输出频率
  
步骤二:
+
void setup()
用USB线连接电脑,下载代码并烧录到Microduino-CoreUSB中。
+
{
[[File:MicroduinoBuzzerSensor1.png|600px|center|thumb]]
+
  pinMode(buzzer_pin,OUTPUT);
 +
}
 +
 +
void loop()
 +
{
 +
    tone(buzzer_pin,buzzer_fre);    //驱动蜂鸣器
 +
}
 +
</source>
 +
在工具的板卡中选择Microduino-Core USB,端口中选择好对应的端口号(COMXX)。点击向右的箭头(—>)下载程序,出现上传完成提示,程序就已经写进CoreUSB模块中了。
 +
成功之后可以听到蜂鸣器发出响声了。
 +
*“tone(pin,fre)”函数
 +
**指定引脚(pin)输出频率(fre)的信号。
 +
**用户可以更改buzzer_fre的值观察蜂鸣器有啥变化。
 +
==实验二:蜂鸣器报警==
 +
*将程序代重新拷贝到IDE中。并下载到Core板卡。
 +
<source lang="cpp">
 +
#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毫秒 
 +
  }
 +
}
 +
</source>
 +
“for(int i=200;i<=800;i++)”说明:i的值开始为200,然后for函数执行一次i的值加1,直到i大于800时才退出for循环。用户可以更改相关参数观察蜂鸣器有啥变化。
 +
<br>实验采用用for循环的方式来更改频率,从而持续发出不同的声音,达到了报警的效果。
  
步骤三:
+
==实验三:播放歌曲==
加电后听一听会有什么反应:
 
[[File:MicroduinoBuzzerSensor2.png|600px|center|thumb]]
 
  
 +
*程序代码
 +
<source lang="cpp">
 +
#define buzzer_pin 6 //定义蜂鸣器驱动引脚
  
步骤四:
+
int song[] = {
你会听到类似报警的声音
+
  262, 262, 294, 262, 349, 330,
[[File:MicroduinoBuzzerSensor3.png|600px|center|thumb]]
+
  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);
 +
  }
 +
}</source>
 +
“song_play()”为播放音乐函数,“song[]”里面存放音调(频率),“noteDurations[]”为节拍。
 +
<br>音乐由tone()函数控制,改动该函数即可改变音乐旋律,代码有两种形式分别为:tone(pin, frequency, duration)或tone(pin, frequency)
 +
<br>第一个函数中,pin代表连接扬声器的管脚,frequency代表发声频率,duration代表持续的时间,单位是毫秒。
 +
<br>如果用第二个函数,则还需另外的noTone()函数来控制音乐的停止noTone(pin)。
 +
*将激活后的电池盒与BM模块相连,将所有模块堆叠在一起,顺序随意,搭建完成。
 +
[[File:MicroduinoBuzzer-Equipment-ok.jpg|600px|center]]
  
 
|}
 
|}

2015年10月20日 (二) 05:31的最新版本

Language English

目的

本教程将通过三个案例介绍如何使用Microduino蜂鸣器。

设备

简介

一般蜂鸣器分为有源蜂鸣器和无源蜂鸣器。Microduino蜂鸣器采用的是无源蜂鸣器。

  • 有源蜂鸣器
    • 内部有振荡、驱动电路。加电压信号(高电平)就可以响。
      • 优点:是用起来方便。
      • 缺点:频率固定了,就只一个单音。
  • 无源蜂鸣器
    • 无源内部不带震荡源,用直流信号无法令其鸣叫。必须用变化的电源信号才能驱动它。
      • 优点:声音频率可控,可以做出“多来米发索拉西”的效果。
      • 缺点:控制稍微复杂。

实验一:让蜂鸣器响起来

搭建模块电路

  • Setup 1:用连接线将传感器安装到Hub模块的相应接口(6)上。
  • Setup 2:将Hub模块与CoreUSB模块无上下顺序叠加起来。

调试

  • Setup 1:用USB线将CoreUSB模块与PC/Mac相连,并打开Arduino IDE。
  • Setup 2:加载代码,将程序代买拷贝到IDE中。
#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模块中了。 成功之后可以听到蜂鸣器发出响声了。

  • “tone(pin,fre)”函数
    • 指定引脚(pin)输出频率(fre)的信号。
    • 用户可以更改buzzer_fre的值观察蜂鸣器有啥变化。

实验二:蜂鸣器报警

  • 将程序代重新拷贝到IDE中。并下载到Core板卡。
#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循环。用户可以更改相关参数观察蜂鸣器有啥变化。
实验采用用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[]”为节拍。
音乐由tone()函数控制,改动该函数即可改变音乐旋律,代码有两种形式分别为:tone(pin, frequency, duration)或tone(pin, frequency)
第一个函数中,pin代表连接扬声器的管脚,frequency代表发声频率,duration代表持续的时间,单位是毫秒。
如果用第二个函数,则还需另外的noTone()函数来控制音乐的停止noTone(pin)。

  • 将激活后的电池盒与BM模块相连,将所有模块堆叠在一起,顺序随意,搭建完成。