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

来自Labplus盛思维基百科
跳转至: 导航搜索
(Tangliufeng移动页面蜂鸣器蜂鸣器模块
使用教程
 
(未显示3个用户的19个中间版本)
第1行: 第1行:
 
[[文件:黑色传感器最终版12.20-03.png|350px|缩略图|右]]
 
[[文件:黑色传感器最终版12.20-03.png|350px|缩略图|右]]
 
== 概述 ==
 
== 概述 ==
采用无源蜂鸣器,可通过Arduino或者其他控制器就能轻松的控制蜂鸣器发出声音甚至MID音乐
+
无源蜂鸣器,可轻松的控制蜂鸣器发出声音甚至音乐
 
 
  
 
== 技术参数 ==
 
== 技术参数 ==
* 工作电压:3.3Vor5V
+
* 工作电压:VCC 3.3-5V
 
* 输出音量:0~5V
 
* 输出音量:0~5V
 
* 模块尺寸:24x46x7.5mm
 
* 模块尺寸:24x46x7.5mm
第22行: 第21行:
  
 
== 使用教程 ==
 
== 使用教程 ==
=== 连接示意图 ===
+
=== <font size="3">掌控板</font> ===
 +
{|
 +
|-
 +
| [[文件:蜂鸣器2.png |900px|居中|无框]]
 +
|}
 +
 
 
=== Arduino示例 ===
 
=== Arduino示例 ===
 +
<pre style="color:blue">
 +
//各音符对应频率
 +
#define NOTE_B0  31
 +
#define NOTE_C1  33
 +
#define NOTE_CS1 35
 +
#define NOTE_D1  37
 +
#define NOTE_DS1 39
 +
#define NOTE_E1  41
 +
#define NOTE_F1  44
 +
#define NOTE_FS1 46
 +
#define NOTE_G1  49
 +
#define NOTE_GS1 52
 +
#define NOTE_A1  55
 +
#define NOTE_AS1 58
 +
#define NOTE_B1  62
 +
#define NOTE_C2  65
 +
#define NOTE_CS2 69
 +
#define NOTE_D2  73
 +
#define NOTE_DS2 78
 +
#define NOTE_E2  82
 +
#define NOTE_F2  87
 +
#define NOTE_FS2 93
 +
#define NOTE_G2  98
 +
#define NOTE_GS2 104
 +
#define NOTE_A2  110
 +
#define NOTE_AS2 117
 +
#define NOTE_B2  123
 +
#define NOTE_C3  131
 +
#define NOTE_CS3 139
 +
#define NOTE_D3  147
 +
#define NOTE_DS3 156
 +
#define NOTE_E3  165
 +
#define NOTE_F3  175
 +
#define NOTE_FS3 185
 +
#define NOTE_G3  196
 +
#define NOTE_GS3 208
 +
#define NOTE_A3  220
 +
#define NOTE_AS3 233
 +
#define NOTE_B3  247
 +
#define NOTE_C4  262
 +
#define NOTE_CS4 277
 +
#define NOTE_D4  294
 +
#define NOTE_DS4 311
 +
#define NOTE_E4  330
 +
#define NOTE_F4  349
 +
#define NOTE_FS4 370
 +
#define NOTE_G4  392
 +
#define NOTE_GS4 415
 +
#define NOTE_A4  440
 +
#define NOTE_AS4 466
 +
#define NOTE_B4  494
 +
#define NOTE_C5  523
 +
#define NOTE_CS5 554
 +
#define NOTE_D5  587
 +
#define NOTE_DS5 622
 +
#define NOTE_E5  659
 +
#define NOTE_F5  698
 +
#define NOTE_FS5 740
 +
#define NOTE_G5  784
 +
#define NOTE_GS5 831
 +
#define NOTE_A5  880
 +
#define NOTE_AS5 932
 +
#define NOTE_B5  988
 +
#define NOTE_C6  1047
 +
#define NOTE_CS6 1109
 +
#define NOTE_D6  1175
 +
#define NOTE_DS6 1245
 +
#define NOTE_E6  1319
 +
#define NOTE_F6  1397
 +
#define NOTE_FS6 1480
 +
#define NOTE_G6  1568
 +
#define NOTE_GS6 1661
 +
#define NOTE_A6  1760
 +
#define NOTE_AS6 1865
 +
#define NOTE_B6  1976
 +
#define NOTE_C7  2093
 +
#define NOTE_CS7 2217
 +
#define NOTE_D7  2349
 +
#define NOTE_DS7 2489
 +
#define NOTE_E7  2637
 +
#define NOTE_F7  2794
 +
#define NOTE_FS7 2960
 +
#define NOTE_G7  3136
 +
#define NOTE_GS7 3322
 +
#define NOTE_A7  3520
 +
#define NOTE_AS7 3729
 +
#define NOTE_B7  3951
 +
#define NOTE_C8  4186
 +
#define NOTE_CS8 4435
 +
#define NOTE_D8  4699
 +
#define NOTE_DS8 4978
 +
 +
//超级马里奥歌谱
 +
int melody[] = {
 +
NOTE_E4, NOTE_E4, NOTE_E4, NOTE_C4, NOTE_E4, NOTE_G4, NOTE_G3,
 +
NOTE_C4, NOTE_G3, NOTE_E3, NOTE_A3, NOTE_B3, NOTE_AS3, NOTE_A3, NOTE_G3, NOTE_E4, NOTE_G4, NOTE_A4, NOTE_F4, NOTE_G4, NOTE_E4, NOTE_C4, NOTE_D4, NOTE_B3,
 +
NOTE_C4, NOTE_G3, NOTE_E3, NOTE_A3, NOTE_B3, NOTE_AS3, NOTE_A3, NOTE_G3, NOTE_E4, NOTE_G4, NOTE_A4, NOTE_F4, NOTE_G4, NOTE_E4, NOTE_C4, NOTE_D4, NOTE_B3,
 +
NOTE_G4, NOTE_FS4, NOTE_E4, NOTE_DS4, NOTE_E4, NOTE_GS3, NOTE_A3, NOTE_C4, NOTE_A3, NOTE_C4, NOTE_D4, NOTE_G4, NOTE_FS4, NOTE_E4, NOTE_DS4, NOTE_E4, NOTE_C5, NOTE_C5, NOTE_C5,
 +
NOTE_G4, NOTE_FS4, NOTE_E4, NOTE_DS4, NOTE_E4, NOTE_GS3, NOTE_A3, NOTE_C4, NOTE_A3, NOTE_C4, NOTE_D4, NOTE_DS4, NOTE_D4, NOTE_C4,
 +
NOTE_C4, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_D4, NOTE_E4, NOTE_C4, NOTE_A3, NOTE_G3, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_D4, NOTE_E4,
 +
NOTE_C4, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_D4, NOTE_E4, NOTE_C4, NOTE_A3, NOTE_G3
 +
};
 +
//歌谱节拍
 +
int noteDurations[] = {
 +
8,4,4,8,4,2,2,
 +
3,3,3,4,4,8,4,8,8,8,4,8,4,3,8,8,3,
 +
3,3,3,4,4,8,4,8,8,8,4,8,4,3,8,8,2,
 +
8,8,8,4,4,8,8,4,8,8,3,8,8,8,4,4,4,8,2,
 +
8,8,8,4,4,8,8,4,8,8,3,3,3,1,
 +
8,4,4,8,4,8,4,8,2,8,4,4,8,4,1,
 +
8,4,4,8,4,8,4,8,2
 +
};
 +
#define musicPin 2    //定义蜂鸣器引脚
 +
 +
void setup() {
 +
}
 +
 +
void loop() {
 +
  delay(2000);
 +
  for (int thisNote = 0; thisNote < 98; thisNote++) {
 +
  int noteDuration = 800/noteDurations[thisNote];  //一个节拍时间800ms
 +
  tone(musicPin, melody[thisNote],noteDuration);    //播放各音符、持续持续时间
 +
  int pauseBetweenNotes = noteDuration * 1.30;      //每个音符间隔等待时间
 +
  delay(pauseBetweenNotes);
 +
  noTone(musicPin);
 +
  }
 +
}
 +
 +
</pre>
 +
 
=== MicroPython示例 ===
 
=== MicroPython示例 ===
 +
* 以下是microbit内置的音乐旋律,import music,后可使用music.play播放
 +
<code>music.DADADADUM</code>
 +
<code>music.ENTERTAINER</code>
 +
<code>music.PRELUDE</code>
 +
<code>music.ODE</code>
 +
<code>music.NYAN</code>
 +
<code>music.RINGTONE</code>
 +
<code>music.FUNK</code>
 +
<code>music.BLUES</code>
 +
<code>music.BIRTHDAY</code>
 +
<code>music.WEDDING</code>
 +
<code>music.FUNERAL</code>
 +
<code>music.PUNCHLINE</code>
 +
<code>music.PYTHON</code>
 +
<code>music.BADDY</code>
 +
<code>music.CHASE</code>
 +
<code>music.BA_DING</code>
 +
<code>music.WAWAWAWAA</code>
 +
<code>music.JUMP_UP</code>
 +
<code>music.JUMP_DOWN</code>
 +
<code>music.POWER_UP</code>
 +
<code>music.POWER_DOWN</code>
 +
 
<pre style="color:blue">
 
<pre style="color:blue">
 
from microbit import *
 
from microbit import *
 
import music
 
import music
tune = ["C3:4","D3:4", "E3:4", "F3:4", "G3:4","A3:4","B3:4" ,"C4:4","D4:4", "E4:4", "F4:4", "G4:4","A4:4","B4:4"  ]
+
 
display.off()
+
i = None
 +
 
  
 
while True:
 
while True:
     music.play(tune)
+
  if button_a.is_pressed():
      
+
     music.play(music.NYAN, pin0, wait=True, loop=False)
 +
  if button_b.is_pressed():
 +
     music.stop(pin0)
 
</pre>
 
</pre>
 +
 +
想了解有关BBC micro:bit for music module更详细使用,可到[https://microbit-micropython.readthedocs.io/en/latest/tutorials/music.html BBC micro:bit MicroPython]
  
 
=== 图形化示例 ===
 
=== 图形化示例 ===
 +
{|
 +
|-
 +
|程序功能:蜂鸣器播放音高逐渐升高的声音
 +
|-
 +
|[[文件:蜂鸣器 2.png|900px|无框|左]]
 +
|-
 +
|}
 +
 +
== 版本历史记录 ==
 +
 +
{|  border="1" cellspacing="0" align="left" cellpadding="0" width="60%" style="text-align:center;"
 +
|- style="text-align:center;background-color:#6fa8dc;color:#fffff;"
 +
!width="10%"|Version !!width="15%"| Date !! Note  <small>[+]新增[-]删除[^]修复</small>
 +
|-
 +
| V2.0 || || style="text-align:left"|
 +
|}

2020年6月30日 (二) 16:47的最新版本

黑色传感器最终版12.20-03.png

概述

无源蜂鸣器,可轻松的控制蜂鸣器发出声音甚至音乐

技术参数

  • 工作电压:VCC 3.3-5V
  • 输出音量:0~5V
  • 模块尺寸:24x46x7.5mm

引脚定义

VCC 电源
NC 空脚
DI 数字输入
GND

使用教程

掌控板

蜂鸣器2.png

Arduino示例

//各音符对应频率
#define NOTE_B0  31
#define NOTE_C1  33
#define NOTE_CS1 35
#define NOTE_D1  37
#define NOTE_DS1 39
#define NOTE_E1  41
#define NOTE_F1  44
#define NOTE_FS1 46
#define NOTE_G1  49
#define NOTE_GS1 52
#define NOTE_A1  55
#define NOTE_AS1 58
#define NOTE_B1  62
#define NOTE_C2  65
#define NOTE_CS2 69
#define NOTE_D2  73
#define NOTE_DS2 78
#define NOTE_E2  82
#define NOTE_F2  87
#define NOTE_FS2 93
#define NOTE_G2  98
#define NOTE_GS2 104
#define NOTE_A2  110
#define NOTE_AS2 117
#define NOTE_B2  123
#define NOTE_C3  131
#define NOTE_CS3 139
#define NOTE_D3  147
#define NOTE_DS3 156
#define NOTE_E3  165
#define NOTE_F3  175
#define NOTE_FS3 185
#define NOTE_G3  196
#define NOTE_GS3 208
#define NOTE_A3  220
#define NOTE_AS3 233
#define NOTE_B3  247
#define NOTE_C4  262
#define NOTE_CS4 277
#define NOTE_D4  294
#define NOTE_DS4 311
#define NOTE_E4  330
#define NOTE_F4  349
#define NOTE_FS4 370
#define NOTE_G4  392
#define NOTE_GS4 415
#define NOTE_A4  440
#define NOTE_AS4 466
#define NOTE_B4  494
#define NOTE_C5  523
#define NOTE_CS5 554
#define NOTE_D5  587
#define NOTE_DS5 622
#define NOTE_E5  659
#define NOTE_F5  698
#define NOTE_FS5 740
#define NOTE_G5  784
#define NOTE_GS5 831
#define NOTE_A5  880
#define NOTE_AS5 932
#define NOTE_B5  988
#define NOTE_C6  1047
#define NOTE_CS6 1109
#define NOTE_D6  1175
#define NOTE_DS6 1245
#define NOTE_E6  1319
#define NOTE_F6  1397
#define NOTE_FS6 1480
#define NOTE_G6  1568
#define NOTE_GS6 1661
#define NOTE_A6  1760
#define NOTE_AS6 1865
#define NOTE_B6  1976
#define NOTE_C7  2093
#define NOTE_CS7 2217
#define NOTE_D7  2349
#define NOTE_DS7 2489
#define NOTE_E7  2637
#define NOTE_F7  2794
#define NOTE_FS7 2960
#define NOTE_G7  3136
#define NOTE_GS7 3322
#define NOTE_A7  3520
#define NOTE_AS7 3729
#define NOTE_B7  3951
#define NOTE_C8  4186
#define NOTE_CS8 4435
#define NOTE_D8  4699
#define NOTE_DS8 4978
 
//超级马里奥歌谱
int melody[] = {
NOTE_E4, NOTE_E4, NOTE_E4, NOTE_C4, NOTE_E4, NOTE_G4, NOTE_G3,
NOTE_C4, NOTE_G3, NOTE_E3, NOTE_A3, NOTE_B3, NOTE_AS3, NOTE_A3, NOTE_G3, NOTE_E4, NOTE_G4, NOTE_A4, NOTE_F4, NOTE_G4, NOTE_E4, NOTE_C4, NOTE_D4, NOTE_B3,
NOTE_C4, NOTE_G3, NOTE_E3, NOTE_A3, NOTE_B3, NOTE_AS3, NOTE_A3, NOTE_G3, NOTE_E4, NOTE_G4, NOTE_A4, NOTE_F4, NOTE_G4, NOTE_E4, NOTE_C4, NOTE_D4, NOTE_B3,
NOTE_G4, NOTE_FS4, NOTE_E4, NOTE_DS4, NOTE_E4, NOTE_GS3, NOTE_A3, NOTE_C4, NOTE_A3, NOTE_C4, NOTE_D4, NOTE_G4, NOTE_FS4, NOTE_E4, NOTE_DS4, NOTE_E4, NOTE_C5, NOTE_C5, NOTE_C5,
NOTE_G4, NOTE_FS4, NOTE_E4, NOTE_DS4, NOTE_E4, NOTE_GS3, NOTE_A3, NOTE_C4, NOTE_A3, NOTE_C4, NOTE_D4, NOTE_DS4, NOTE_D4, NOTE_C4,
NOTE_C4, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_D4, NOTE_E4, NOTE_C4, NOTE_A3, NOTE_G3, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_D4, NOTE_E4,
NOTE_C4, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_D4, NOTE_E4, NOTE_C4, NOTE_A3, NOTE_G3
};
//歌谱节拍
int noteDurations[] = {
8,4,4,8,4,2,2,
3,3,3,4,4,8,4,8,8,8,4,8,4,3,8,8,3,
3,3,3,4,4,8,4,8,8,8,4,8,4,3,8,8,2,
8,8,8,4,4,8,8,4,8,8,3,8,8,8,4,4,4,8,2,
8,8,8,4,4,8,8,4,8,8,3,3,3,1,
8,4,4,8,4,8,4,8,2,8,4,4,8,4,1,
8,4,4,8,4,8,4,8,2
};
#define musicPin 2     //定义蜂鸣器引脚

void setup() {
}
 
void loop() {
  delay(2000);
  for (int thisNote = 0; thisNote < 98; thisNote++) { 
  int noteDuration = 800/noteDurations[thisNote];   //一个节拍时间800ms
  tone(musicPin, melody[thisNote],noteDuration);    //播放各音符、持续持续时间
  int pauseBetweenNotes = noteDuration * 1.30;      //每个音符间隔等待时间
  delay(pauseBetweenNotes);
  noTone(musicPin);
  }
}

MicroPython示例

  • 以下是microbit内置的音乐旋律,import music,后可使用music.play播放

music.DADADADUM music.ENTERTAINER music.PRELUDE music.ODE music.NYAN music.RINGTONE music.FUNK music.BLUES music.BIRTHDAY music.WEDDING music.FUNERAL music.PUNCHLINE music.PYTHON music.BADDY music.CHASE music.BA_DING music.WAWAWAWAA music.JUMP_UP music.JUMP_DOWN music.POWER_UP music.POWER_DOWN

from microbit import *
import music

i = None


while True:
  if button_a.is_pressed():
    music.play(music.NYAN, pin0, wait=True, loop=False)
  if button_b.is_pressed():
    music.stop(pin0)

想了解有关BBC micro:bit for music module更详细使用,可到BBC micro:bit MicroPython

图形化示例

程序功能:蜂鸣器播放音高逐渐升高的声音
蜂鸣器 2.png

版本历史记录

Version Date Note [+]新增[-]删除[^]修复
V2.0