2018年3月23日 星期五

模組介紹 : faya數位式蜂鳴器模組


學習目標 : 認識faya數位式蜂鳴器模組的功能及使用方式
學習時間 : 30min
示範模組 : (1) faya brickNano
                   (2) 按鍵模組
                   (3) faya數位式蜂鳴器模組
工具 : (1) 樂高積木底板 (相容)


====================功能介紹====================
faya 數位式蜂鳴器模組擁有一個數位輸入埠Vin,只要輸入數位訊號,就能發出固定音頻,這一類的蜂鳴器主要目的在分擔控制器的工作量,他的輸出音頻固定,通常出現在簡單的應用上,和faya蜂鳴器模組使用時機不同。


  • 當輸入HIGH至Vin埠時,蜂鳴器產生音頻
  • 當輸入LOW至Vin埠時,蜂鳴器靜音
註1 : 蜂鳴器廠商大多在表面貼一張貼紙,降低輸出音量,使用者可視情況撕下

====================原理知識====================
以下解釋提供給需要知道背後原理的人:

蜂鳴器的種類有壓電式和電磁式兩種,依驅動方式有可分為自激和他激式,以下兩個連結有非常詳細的說明與比較:

壓電式和電磁式蜂鳴器的比較
自激與他激式蜂鳴器的差別

faya數位式蜂鳴器模組所採用的是自激-壓電式蜂鳴器,內建了震盪電路用來激發蜂鳴器,因此體積會比他激式大一些,優點就是控制容易,也可分擔控制器的工作。但由於內建震盪電路的輸出頻率是固定的,因此蜂鳴器產生的音頻也是固定的。

fayalab還有另一款[蜂鳴器模組],採用的是他激-電磁式的蜂鳴器,能夠利用Arduino產生不同的音頻,大家可以參考連結。

模組的電路圖如下,自激式的蜂鳴器內建一555震盪IC,電阻電容用來決定輸出頻率的高低,由於電阻電容值已經固定了,因此輸出頻率也是固定的。


===================範例實作(1)===================
了解模組功能(原理)後,我們用以下範例來展示模組的功能:

目標:
(1) 利用faya數位式蜂鳴器模組模擬按鍵音

接線:
(1) 電源線連接
     如下圖所示,連接的說明請看這篇文章 簡易版


(2) 訊號線連接
Arduino_D6   ===> 按鍵模組_PB0
Arduino_D7   ===> 按鍵模組_PB1
Arduino_D8   ===> 按鍵模組_PB2
Arduino_D9   ===> 按鍵模組_PB3
Arduino_D10 ===> 按鍵模組_PB4


Arduino_D13  ===> 數位式蜂鳴器模組_Vin



範例程式:


備註:
- L77~L82: 短促的按鍵音副程式,提供按下五個按鍵時呼叫
- L32: 在setup時,輸入Low給蜂鳴器,使其靜音
- L38: 一按下按鍵後,第一件事情先撥放按鍵音,讓使用者知道已經按下按鈕,這邊可以忽略機械彈跳造成的影響,因為接下來MCU會執行指定的指令,沒有時間處理機械彈掉造成的影響。
- L40: 由於每個人按下按鍵的時間不一定,有的人按鍵時間長,有的人按鍵時間短,加此行可以讓程式持續停在這一行,直到手指離開按鍵為止。
- L41: 由於機械式的按鍵結構,放開按鍵時會產生彈跳現象,因此加一個延遲時兼直到彈跳結束 。

範例結果:


討論:
- 我們在這個範例利用數位式蜂鳴器的特色模擬了按鍵音,大家可以把
(1) 第40行刪除,然後長按PB0,觀察會發生什麼事?
(2) 回復第40行,刪除第41行,長按PB0,然後放開的時候會發什麼事 ? (需要多試幾次才能觀察到現象)
 
歡迎大家在底下留言或到我們的粉絲團留言喔!
====================================
fayalab 粉絲團
FB本篇留言版

沒有留言:

張貼留言