2018年3月16日 星期五

創意組合 : 數位FM收音機


學習目標 : 用faya電子積塊組出一能顯示電台的數位FM收音機
學習時間 : 180min
使用模組 : (1) faya brickNano
                   (2) faya FM模組
                   (3) faya 雙聲道喇叭模組
                   (4) faya 串列七段顯示模組
                   (5) faya 編碼器模組
                   (6) 電源濾波模組
 工具 : 樂高積木(相容)
           音源線

====================相關知識====================
這篇文章中所用到的模組使用方式及相關知識整理如下,需進一步了解時可點進去參考:
模組介紹 : faya brickNano
模組介紹 : faya FM模組
模組介紹 :  faya 雙聲道喇叭模組
模組介紹 :  faya 串列七段顯示模組
模組介紹 :  faya 編碼器模組
模組介紹 :  電源濾波模組 

======================開箱======================
數位FM收音機(型號NTG-505)是fayalab的第五款創意組合系列產品,我們的目標是利用現有的faya模組,組出一個能夠選台的FM收音機,選到的電台頻道會顯示在七段顯示模組,接收到的聲音會在雙聲道喇叭模組撥放。

盒內包含了製作FM收音機所需的全部模組及附件:

1.faya brickNano主板       2.FM模組       3.雙聲道喇叭模組      4.串列七段顯示模組
5.編碼器模組        6. 電源濾波模組       7. 積木包        8. 積木柱子      9. 積木蓋子
10.  跳線盒           11. 音源線                 12. micro USB傳輸線              13. 電源線(A)/(B)
14. 積木底板


===================範例實作=====================
目標:
(1) 利用faya電子積塊,製作出FM收音機
(2) 利用編碼器的旋轉功能進行電台搜尋
(3) 利用編碼器的按鈕功能直接選擇喜愛的電台
(4) 接收到的電台顯示於七段顯示模組
(5) 接收到的電台於雙聲道喇叭模組撥放

組裝:

首先把[1.faya brickNano主板]、[2.FM模組]、[3.雙聲道喇叭模組]、[4.串列七段顯示模組]、[5.編碼器模組]、[6. 電源濾波模組]的四個角落裝上[8.積木柱子]與[9. 積木蓋子]。

積木柱子的組裝過程可參考[功能介紹 : faya電子積塊與LEGO積木的結合]
積木蓋子的組裝過程可參考[小技巧 : 積木柱子太鬆時如何處理?]

完成後模組背面照如下圖所示:


模組正面照如下圖所示:


接下來示範線路的連接和積木的組裝,大家可以按照底下的範例跟著做一次,熟悉一下安裝的步驟,之後再按照自己的喜好修改造型。如果照著我們的範例,組完後會長這個樣子:


電源線連接

電源線的連接如下圖所示,連接的詳細說明可參考這篇文章 簡易版。這個範例我們透過9條[5.電源線(B)]將6個模組的電源全部串起來,我們在[模組介紹 : faya 電源濾波模組]解釋過,透過正確的電源串聯順序才能避免雜訊的產生,因此電源線串聯的順序極為重要,順序為:

brickNano > 編碼器模組 > 七段顯示模組 > 電源濾波模組 > FM模組 > 雙聲道喇叭模組

這個順序可以確保七段顯示模組產生的掃描頻率,在干擾FM和喇叭模組之前,就被電源濾波模組濾掉 (請特別注意電源濾波模組的方向,左邊接IN,右邊接OUT)。


接著把[FM模組]、[七段顯示模組]、[faya brickNano]、[編碼器模組]透過積木柱子按照左上、左下、右上、右下固定在圖中底板位置


完成後如下圖所示,先不用裡其他兩個模組


接著我們在下圖中的位置安裝第一層的積木


完成後如下圖所示


接著我們在下圖中的位置安裝第二層的積木


疊上積木後,我們順便把電源線塞到積木與積木間的空隙,完成後如下圖所示。同樣的先把喇叭和電源濾波模組擺一邊,不用理他們。


訊號線連接

FM模組:
     
      Arduino_D2 ===> FM模組_RST
      Arduino_A4 ===> FM模組_SDIO
      Arduino_A5 ===> FM模組_SCLK

大家可以修一下單芯線的長度,或者繞個弧度,讓訊號線不要立起來,最好貼平在模組上,如下圖所示。


編碼器模組:

      Arduino_D12 ===> 編碼器模組_PB
      Arduino_D11 ===> 編碼器模組_A
      Arduino_D10 ===> 編碼器模組_B

訊號線連接編碼器後,將他往下折,從模組的下方,再經過剛剛製作出來的積木溝槽,連接到brickNano的排母座。如此的理線方式所組出的成品會較為美觀。


串列七段顯示模組:

      Arduino_D3 ===> 七段顯示模組_DIN
      Arduino_D4 ===> 七段顯示模組_CLK
      Arduino_D5 ===> 七段顯示模組_LOAD

和編碼器模組同樣的理線方式,完成後如下圖所示


範例程式:

完成了以上的組裝,我們先載入範例程式,測試一下功能是否正常,成功後,再繼續組裝上層的積木。在這邊測試程式的原因是如果等全部組裝完才測試,要是有線路沒連接好的話,還得拆掉查看內部的線路,並且再重新組裝一次。



備註:
- 本程式需要用到[Si4703_breakout]函式庫,請下載並解壓縮至Arduino Libraries 資料夾
- 本程式需要用到[LedControl]函式庫,請下載並解壓縮至Arduino Libraries 資料夾
- FM模組的程式控制原理,請參考[模組介紹 : faya FM模組]
- 串列七段顯示模組的程式控制原理,請參考 [模組介紹 :  faya 串列七段顯示模組]
- 編碼器模組的程式控制原理,請參考[模組介紹 :  faya 編碼器模組]
- 本程式針對編碼器判斷了三個動作 (1) 順時針旋轉 (2) 逆時針選轉 (3) 按下按鈕
- L73~L81 : 順時針旋轉編碼器時,會往高頻電台微調,並且立即撥放和顯示該頻道
- L82~L90 : 逆時針旋轉編碼器時,會往低頻電台微調,並且立即撥放和顯示該頻道
- L78、L87 : 每次+2或-2的原因是因為每個電台都相隔200kHz,因此直接跳2即可
- L92~L100 : 按下編碼器按鈕時,依序讀取儲存於Station陣列的電台,街個立即撥放並顯示該電台
- L44 : Station陣列儲存了22個電台頻道,請參考[台灣廣播電台列表]
- L53~L56 : 這四行讓機器一開機時,會撥放所指定的電台

測試:
測試前請記得在喇叭和FM模組間插入音源線


測試時,注意一下順時針轉、逆時針轉、按下編碼器時,有沒有按照我們的規劃動作,同時也注意喇叭是否夾雜高頻掃描音,通常有錯誤時,都是(1) 信號線接錯位置 (2) 電源濾波模組左右裝反了

積木組裝:
測試完成後,剩下的就是積木組裝了,底下的組裝示範,能夠讓剩下的兩個模組穩穩地安置在作品當中,或者大家可以透過自己的創意,組出自己喜歡的造型。

首先在前方完成第三層,裝上4顆4x2的積木,把連接好的線固定在洞洞裏面


後方同樣也往上蓋到第三層,如下圖所示


完成後,我們把電源濾波模組安裝在正前方,注意此步驟我們只利用模組的兩個積木柱子進行安裝,如下圖所示


完成後可以開始組裝第四層積木,請在電源濾波模組的左右邊,裝上1x4和2x4的積木,位置如下圖所示


第四層的後方則繼續往上蓋一層1x4積木


第五層需要用到平板積木,大小為2x6和2x10,位置如下圖所示,使用2x10的目的是要讓前後方的積木連結起來,讓接下來的結構更穩固。


第六層: 請在第五層的上方蓋出如下的結構,此結構的目的是要在圈圈的位置裝上雙聲道喇叭模組


第七層:安裝雙聲道喇叭模組之前,請先用兩片2x6的平板壓住第六層,強化整體結構,位置如下


完成後就可以在剛剛畫藍色圈圈的位置安裝雙聲道喇叭模組了,注意到你可能需要先把電源線拔掉,讓電源線經積木內部繞出,再接回去。


接著組出以下結構



將此結構跨在機體後方,此舉讓後方左右邊的積木結合在一起,強化結構穩定度


到目前為止,我們已經擁有很結實的收音機主體架構了,接下來我們用剩下的積木做一些點綴裝飾,大家可以依照自己的喜好組出自己的收音機外觀。底下是筆者組出的外觀,大家可以參考參考!

背面照:

正面照:


結果演示:


討論:

以下是我們開發此創意組合時得到的經驗,大家可以參考參考
  • 高頻雜音情形: (1) 請確認電源濾波模組是否安裝在正確的位置 (2) 外來的電源裝置,特別是劣質的行動電源或USB充電器,裡面產生的雜訊有機會傳到喇叭,請換上品質優良的電源裝置
  • 收訊不良情形: (1) 室內很多收訊死角,有時候移動一個方位就能解決 (2) 不良的行動電源或USB充電器,也會影響FM收音機的收訊。
底下示範第一次接的是小米行動電源,第二次接的是無牌的行動電源,明顯的發現接上小米行動電源時的品質好很多,我們也不太能斷定原因,如果知道原因的人,希望可以回饋讓我們知道。


歡迎大家在底下留言或到我們的粉絲團留言喔!
====================================
fayalab 粉絲團
FB本篇留言版



沒有留言:

張貼留言