蜂鳴器
Buzzer 蜂鳴器
蜂鳴器分為兩種,有源蜂鳴器與無緣蜂鳴器。
有源蜂鳴器,接通電源就會叫。直接將+接上腳位7、-接地,即可以HIGH、LOW控制發出、關閉聲音。
無源蜂鳴器要處理聲音頻率與節拍,必須在程式中引用pitches.h。
LoudSpeaker 揚聲器
接線說明
1.麵包板:揚聲器紅線(+),接電阻。
2.麵包板:電阻另一端,接UNO腳位8。
3.揚聲器黑線(-),接地(UNO GND)。
程式碼
#include "pitches.h"
// notes in the melody:
int speakPin = 7;
int melody[] = {
NOTE_C4, NOTE_G3, NOTE_G3, NOTE_A3, NOTE_G3, 0, NOTE_B3, NOTE_C4
};
// note durations: 4 = quarter note, 8 = eighth note, etc.:
int noteDurations[] = {
4, 8, 8, 4, 4, 4, 4, 4
};
void setup() {
// iterate over the notes of the melody:
for (int thisNote = 0; thisNote < 8; thisNote++) {
// to calculate the note duration, take one second divided by the note type.
//e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc.
int noteDuration = 1000 / noteDurations[thisNote];
tone(speakPin , melody[thisNote], noteDuration);
// to distinguish the notes, set a minimum time between them.
// the note's duration + 30% seems to work well:
int pauseBetweenNotes = noteDuration * 1.30;
delay(pauseBetweenNotes);
// stop the tone playing:
noTone(speakPin );
}
}
void loop() {
for (int thisNote = 0; thisNote < 8; thisNote++) {
int noteDuration = 1000 / noteDurations[thisNote];
tone(speakPin , melody[thisNote], noteDuration);
int pauseBetweenNotes = noteDuration * 1.30;
delay(pauseBetweenNotes);
noTone(speakPin );
}
}
![](https://www.google.com/images/icons/product/drive-32.png)
以下僅供參考
int melody[] = {
NOTE_C4, NOTE_G3, NOTE_G3, NOTE_A3, NOTE_G3, 0, NOTE_B3, NOTE_C4
};
int noteDurations[] = {
4, 8, 8, 4, 4, 4, 4, 4
};
void setup() {
pinMode(8,OUTPUT);
}
void loop() {
play(melody, noteDurations, sizeof(melody) / sizeof(int));
delay(2000);
}
void play(int *melody, int *noteDurations, int num){
for(int note = 0; note < num; note++){
int noteDuration = 3000 / noteDurations[note];
tone(8, melody[note], noteDuration);
delay(noteDuration * 1.30);
}
}
妹妹揹著洋娃娃
int melody[] = {
NOTE_G4, NOTE_G4, NOTE_E4, NOTE_D4, NOTE_E4, NOTE_D4, NOTE_C4,
NOTE_E4, NOTE_D4, NOTE_C4, NOTE_A3, NOTE_G3, NOTE_A3, NOTE_G3,
NOTE_A3, NOTE_A3, NOTE_C4, NOTE_A3, NOTE_C4, NOTE_D4, NOTE_E4,
NOTE_D4, NOTE_D4, NOTE_G4, NOTE_G4, NOTE_E4, NOTE_D4, NOTE_C4,
};
int noteDurations[] = {
6, 16, 8, 8, 8, 8, 4,
6, 16, 8, 8, 8, 8, 4,
6, 16, 8, 8, 8, 8, 4,
6, 16, 8, 8, 8, 8, 4,
};
青花瓷
int melody[] = {
NOTE_, NOTE_D4, NOTE_C4, NOTE_A3, NOTE_C4, NOTE_C4, NOTE_A3, NOTE_C4, NOTE_C4, NOTE_A3, NOTE_C4, NOTE_A3, NOTE_G3, NOTE_,
NOTE_, NOTE_D4, NOTE_C4, NOTE_A3, NOTE_C4, NOTE_C4, NOTE_A3, NOTE_C4, NOTE_C4, NOTE_E4, NOTE_D4, NOTE_C4, NOTE_C4, NOTE_,
NOTE_, NOTE_G3, NOTE_A3, NOTE_E4, NOTE_E4, NOTE_E4, NOTE_D4, NOTE_E4, NOTE_E4, NOTE_D4, NOTE_E4, NOTE_G4, NOTE_E4, NOTE_E4, NOTE_,
NOTE_, NOTE_E4, NOTE_E4, NOTE_E4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_C4, NOTE_E4, NOTE_E4, NOTE_D4, NOTE_,
NOTE_, NOTE_D4, NOTE_C4, NOTE_A3, NOTE_C4, NOTE_C4, NOTE_A3, NOTE_C4, NOTE_C4, NOTE_A3, NOTE_C4, NOTE_A3, NOTE_G3, NOTE_,
NOTE_, NOTE_G3, NOTE_A3, NOTE_E4, NOTE_G4, NOTE_G4, NOTE_E4, NOTE_G4, NOTE_G4, NOTE_E4, NOTE_D4, NOTE_C4, NOTE_C4, NOTE_,
NOTE_, NOTE_D4, NOTE_C4, NOTE_D4, NOTE_E4, NOTE_D4, NOTE_D4, NOTE_C4, NOTE_D4,
NOTE_C4, NOTE_A3, NOTE_D4, NOTE_C4, NOTE_C4, NOTE_A3, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_,
//
NOTE_, NOTE_G4, NOTE_G4, NOTE_E4, NOTE_D4, NOTE_E4, NOTE_A3, NOTE_D4, NOTE_E4, NOTE_G4, NOTE_E4, NOTE_D4, NOTE_,
NOTE_, NOTE_G4, NOTE_G4, NOTE_E4, NOTE_D4, NOTE_E4, NOTE_G3, NOTE_D4, NOTE_E4, NOTE_G4, NOTE_D4, NOTE_C4, NOTE_,
NOTE_, NOTE_C4, NOTE_D4, NOTE_E4, NOTE_G4, NOTE_A4, NOTE_G4, NOTE_F4, NOTE_G4, NOTE_E4, NOTE_E4, NOTE_D4, NOTE_D4, NOTE_,
NOTE_, NOTE_C4, NOTE_D4, NOTE_C4, NOTE_C4, NOTE_D4, NOTE_C4, NOTE_D4, NOTE_D4, NOTE_E4, NOTE_G4, NOTE_E4, NOTE_E4, NOTE_,
NOTE_, NOTE_G4, NOTE_G4, NOTE_E4, NOTE_D4, NOTE_E4, NOTE_A3, NOTE_D4, NOTE_E4, NOTE_G4, NOTE_E4, NOTE_D4, NOTE_,
NOTE_, NOTE_G4, NOTE_G4, NOTE_E4, NOTE_D4, NOTE_E4, NOTE_G3, NOTE_D4, NOTE_E4, NOTE_G4, NOTE_D4, NOTE_C4, NOTE_,
NOTE_, NOTE_C4, NOTE_D4, NOTE_E4, NOTE_G4, NOTE_A4, NOTE_G4, NOTE_F4, NOTE_G4, NOTE_E4, NOTE_E4, NOTE_D4, NOTE_D4,
NOTE_G3, NOTE_E4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_C4, NOTE_,
};
int noteDurations[] = {
16, 16, 16, 16, 8, 16, 16, 8, 16, 16, 16, 16, 8, 8,
16, 16, 16, 16, 8, 16, 16, 8, 16, 16, 16, 16, 8, 8,
16, 16, 16, 16, 8, 16, 16, 8, 16, 16, 16, 16, 16, 16, 8,
16, 16, 16, 16, 16, 16, 16, 16, 8, 16, 16, 16, 8, 8,
16, 16, 16, 16, 8, 16, 16, 8, 16, 16, 16, 16, 8, 8,
16, 16, 16, 16, 8, 16, 16, 8, 16, 16, 16, 16, 8, 8,
16, 16, 16, 16, 16, 16, 16, 16, 8,
16, 16, 16, 16, 16, 16, 8, 16, 4, 8,
//
16, 16, 16, 16, 16, 16, 8, 16, 16, 16, 16, 4, 8,
16, 16, 16, 16, 16, 16, 8, 16, 16, 16, 16, 4, 8,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 4, 8,
16, 16, 16, 16, 16, 16, 16, 16, 16, 8, 16, 16, 8, 8,
16, 16, 16, 16, 16, 16, 8, 16, 16, 16, 16, 4, 8,
16, 16, 16, 16, 16, 16, 8, 16, 16, 16, 16, 4, 8,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 4,
16, 8, 16, 16, 16, 4, 8,
};
參考文獻
https://yehnan.blogspot.com/2012/02/arduinoloudspeaker.html (揚聲器)