蜂鳴器原理
       蜂鳴器是一種發聲器件,採用直流電壓供電,廣泛應用於計算機、報警器、
電子玩具、汽車電子設備、電話機、定時器 ... 等電子產品中。

如下圖,藉由控制線圈通電的頻率使電磁鐵吸引振動薄片來發出不同聲音。



無源蜂鳴器


必須送出直流脈波電壓讓內部震動薄片產生震動,產生的聲音依照送出的頻率而定。

在 tinkercad 搜尋 buzzer 可以找到範例,直接拉出來測試即可。


以下提供樂理中的 7 個音階
八度音階半音階123456789101112
唱名DoDo#ReRe#MiFaFa#SoSo#LaLa#Si
代號CCSDDSEFFSGGSAASB
2頻率6569737882879398104110117123
簡譜
3頻率 131 139 147 156 165 175 185 196 208 220 233 247
簡譜
4頻率 262 277 294 311 330 349 370 392 415 440 466 494
簡譜 1 2 34 5 6 7
5頻率 523 554 587 622 659 698 740 784 831 880 932 988
簡譜
7頻率 1147 1109 1175 1245 1319 1397 1480 1568 1661 1760 1865 1976
簡譜


常用函數:
函式說明
tone(pin, frequency)對指定數位接腳 pin 發出頻率為 frequency 之方波。(Duty Cycle=50%)
tone(pin, frequency, millisecond)對指定數位接腳 pin 發出 millisecond 毫秒, 頻率為 frequency 之方波。(Duty Cycle=50%)
noTone(pin)停止指定數位接腳 pin 發出方波。


範例一:
讓蜂鳴器產生    3  三個音,每個音各發聲 400,600,800 毫秒。每個音間格停頓 500 毫秒。
電路圖同上

程式碼:
void setup() {
}

void loop() {
      tone(8,196,400);//發出 音 400 毫秒。
      delay(500);//停頓 500 毫秒。
      tone(8,330,600);//發出 3 音 600 毫秒。
      delay(500);//停頓 500 毫秒。
      tone(8,523,800);//發出 音 800 毫秒。
      delay(500);//停頓 500 毫秒。
}



有源蜂鳴器


有直流電壓就會發出固定頻率聲響。
(註:內部機構會讓震動薄片產生震動)

範例二:
使用有源蜂鳴器,產生 800 毫秒聲音,停頓 1 秒,依此反覆。

電路圖同上。(正邏輯控制)

程式碼:
void setup()
{
      pinMode(8,OUTPUT);
}

void loop()
{
      digitalWrite(8, HIGH);//有源蜂鳴器響起
      delay(800);
      digitalWrite(8, LOW);//有源蜂鳴器關閉
      delay(1000);
}