學習目標 : 認識faya數位式蜂鳴器模組的功能及使用方式
學習時間 : 30min
示範模組 : (1) faya brickNano
(2) 按鍵模組
(3) faya數位式蜂鳴器模組
工具 : (1) 樂高積木底板 (相容)
====================功能介紹====================
faya 數位式蜂鳴器模組擁有一個數位輸入埠Vin,只要輸入數位訊號,就能發出固定音頻,這一類的蜂鳴器主要目的在分擔控制器的工作量,他的輸出音頻固定,通常出現在簡單的應用上,和faya蜂鳴器模組使用時機不同。
- 當輸入HIGH至Vin埠時,蜂鳴器產生音頻
- 當輸入LOW至Vin埠時,蜂鳴器靜音
====================原理知識====================
以下解釋提供給需要知道背後原理的人:
蜂鳴器的種類有壓電式和電磁式兩種,依驅動方式有可分為自激和他激式,以下兩個連結有非常詳細的說明與比較:
壓電式和電磁式蜂鳴器的比較
自激與他激式蜂鳴器的差別
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本篇留言版
沒有留言:
張貼留言