2018年2月23日 星期五

模組介紹 : faya 雙聲道喇叭模組


學習目標 : 認識雙聲道喇叭模組的功能及使用方式
學習時間 : 40 mins
示範模組 : (1) UNO
                   (2) 雙聲道喇叭模組
工具 : (1) 樂高底板(相容)
           (2) 音源線

====================通能介紹====================
fayalab的雙聲道喇叭模組使用了一顆雙聲道音頻功率放大IC,配合可變電阻與開關的切換,也可將單聲道的音源讓左右喇叭同時撥放,或者讓雙聲道音源各別在左右喇叭撥放,獨立控制左右聲道的音量,。


  • 可變電阻 : 兩顆音量旋鈕分別控制左右聲道音量使用前記得轉到最左邊(最小聲)
  • 音源座 : 可透過音源線輸入音源訊號
  • 2x1排母座 : 可透過單心線輸入音源訊號
  • 切換開關 - MONO: 可將雙聲道音源獨立讓兩個喇叭各別撥放 
  • 切換開關 - STEREO : 可將單聲道音源讓到兩個喇叭同時撥放
====================補充原理====================

faya雙聲道喇叭模組所使用的核心IC為 TDA2822M,具有低交越失真低靜態電流的特點,可工作於雙聲道立體聲或單聲道橋式放大模式,有興趣的人可以參考DataSheet 

模組電路圖如下,利用TDA2822推動兩顆喇叭,電阻電容則根據datasheet建議,稍作調整後接到周邊電路。輸入部分,分為左右聲道,分別透過兩個10K歐姆的可變電阻改變阻值,控制輸入音量的大小。切換開關SW1,當切換到MONO時,左右聲道的音源各自於左右喇叭撥出,當切換到STEREO時,左右聲道會混單聲道,單聲道音源會同時於左右喇叭撥出。



====================範例實作(一)====================
目標:
(1) 利用faya雙聲道喇叭模組播放手機音樂

接線:
(1) 電源線連接如下圖所示,紅色線接到VCC,黑色線接到GND,詳細連接的說明請看這篇文章 簡易版


(2) 利用音源線,將模組與手機的耳機孔相連,並利用手機撥放音樂


範例結果:
我們首先撥放周杰倫的告白氣球的MV測試:
(1) 當SWITCH切換到MONO時,我們能夠用左邊的旋鈕控制左邊喇叭的聲音,右邊的旋鈕控制右邊喇叭的聲音
(2)當SWITCH切換到STEREO時,左右聲道的音源混在一起了,因此無論調整左邊或右邊旋鈕都能控制喇叭音量。

註: 由於只用一個麥克風收音,錄出來的影片無法辨識是由哪個喇叭發出的聲音,影片只能示意並配和文字解釋。


接著我們撥放左右聲道測試的音源:
(1) 當SWITCH切換到MONO時,當音源來自左聲道時,我們只能用左邊的旋鈕控制左邊喇叭的音量,右邊的旋鈕是無作用的,同樣的音源來自右聲道時,我們只能用右邊的旋鈕控制右邊喇叭的音量。
(2) 當SWITCH切換到STEREO時,左右聲道的音源混在一起了,因此無論調整左邊或右邊旋鈕皆能控制喇叭音量。


====================範例實作(二)====================
目標:
(1) 利用faya雙聲道喇叭模組播放Arduino產生的和弦音樂,樂譜如下


接線:

(1) 電源線連接放式和範例實作(一)相同

(2) 訊號線連接
Arduino_D2 ===> 雙聲道喇叭_L
Arduino_D3 ===> 雙聲道喇叭_R
注意到喇叭的G不需要連接


範例程式:


備註:
- 本程式需要用到Tone函式庫,請在下載後自行解壓縮到libraries資料夾
- 本程式需要用到pitches.h標頭檔,請在下載後放到和本程式同一個專案資料夾
- 程式中撥放音樂的原理和之前的文章[模組介紹:faya蜂鳴器模組]類似,大家可以參考。
- 為了讓左聲道和右聲道的音樂在同一個Loop中撥放,我們修改了一 點點樂譜,讓左聲道和右聲道讀取的音符數量相同 (同樣45個音符)。

範例結果:


討論: 

Arduino 內建的Tone()函式,由於功能的限制(Timer數量),只能一次對一個接腳輸出一個音階,無法同時讓兩個接腳發聲,因此我們借用外來的函式庫解決此問題,在UNO上最多可以同時發出三個音階,有興趣的人可以參考函式作者網站上的解釋。我們剛好藉此機會示範此函式庫的使用方式,並且將結果展示在faya雙聲道喇叭模組上。

也歡迎大家在底下留言或到我們的粉絲團留言喔!
====================================


沒有留言:

張貼留言