鳴器基本上分兩類「有源蜂鳴器」與「無源蜂鳴器」, 這裡的“源”不是指電源,而是指震盪源。
有源蜂鳴器:內部帶震盪源,內建一組固定的頻率,只要一接通電源,就會發出單一頻率固定的聲音。 | |
無源蜂鳴器:內部不帶震盪源,經由程式控制發聲頻率,進而發出不同音調的聲音 可依據不同的頻率發出不同聲調的聲音。 |
有源蜂鳴器簡易使用,因為裡面多個震盪電路,往往比無源蜂鳴器稍微貴一點,而無源蜂鳴器的優點是便宜及可控制聲音頻率發出不同音調的聲音。
接線方式
● GND:接地
● I / O:數位訊號輸出(程式範例接 D7)
● VCC:接電源
有源蜂嗚器程式
#define buzzPin D7 // 設定 buzzPin 的接腳位置(D7 or 13)
void setup()
{
pinMode(buzzPin, OUTPUT); // 設定 buzzPin 為輸出模式
}
void loop()
{
digitalWrite(buzzPin, LOW);// 低電平觸發,有源蜂鳴器響起
delay(1000); // 響 1 秒
digitalWrite(buzzPin, HIGHT); // 有源蜂鳴器關閉
delay(2000); // 靜音 2 秒
}
無源蜂嗚器程式
低音 | Do | Re | Mi | Fa | So | La | Si |
頻率(Hz) | 262 | 294 | 330 | 349 | 392 | 440 | 494 |
中音 | Do | Re | Mi | Fa | So | La | Si |
頻率(Hz) | 523 | 587 | 659 | 698 | 784 | 880 | 988 |
高中 | Do | Re | Mi | Fa | So | La | Si |
頻率(Hz) | 1046 | 1175 | 1318 | 1397 | 1568 | 1760 | 1976 |
tone(pin, frequency, duration):讓接在 pin 腳的蜂鳴器發出 duration 毫秒(ms)之 frequency 頻率(Hz)的聲音,當指定發聲的時間到時,聲音就會停止
tone(pin, frequency, duration):讓接在 pin 腳的蜂鳴器發出 frequency 頻率(Hz)的聲音,會一直發出聲音,直到呼叫 noTone(pin) 聲音才會停止
noTone(pin):讓接在 pin 腳的蜂鳴器不發出聲音
#define buzzPin D7 // 設定 buzzPin 的接腳位置(D7 or 13)
int duration = 500;
void setup()
{
pinMode(buzzPin, OUTPUT); // 設定 buzzPin 為輸出模式
}
void loop()
{
tone(buzzPin,262, duration); // 讓接在 buzzPin 腳的蜂鳴器發出 262Hz 頻率的聲音 Do
delay(500);
tone(buzzPin,294, duration); // 讓接在 buzzPin 腳的蜂鳴器發出 294Hz 頻率的聲音 Re
delay(500);
tone(buzzPin,330, duration); // 讓接在 buzzPin 腳的蜂鳴器發出 330Hz 頻率的聲音 Mi
delay(500);
}