2018年6月8日 星期五

模組介紹 : faya SD卡模組



學習目標 : 認識faya SD卡模組的功能及使用方式
學習時間 : 35mins
示範模組 : (1) faya brickNano
                   (2) faya SD卡模組


====================功能介紹====================
faya SD卡模組透過SPI接線,從Arduino的函式下指令,就能讀取讀取SD卡資料,也能建立檔案並將資料記錄在檔案裡。



faya SD卡模組的右邊有八個埠,分別是CS、MOSI、SCLK、MISO、DAT1、DAT2、DETECT、PROTECT,其中CS、MOSI、SCLK、MISO是SPI通訊協定,用來和Arduion互相溝通。

在Arduino brickNano中SPI通訊有固定的腳位,如下所示:

SD卡模組             Arduino brickNano
CS                ==>              D10
MOSI           ==>              D11
MISO           ==>              D12
SCLK           ==>              D13

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


上圖為SD卡的腳位定義,SD卡支援兩種匯流排方式:SD方式與SPI方式。其中SD方式採用6線制進行資料通信,其特點是資料位元數寬(4位元)、速度快。SPI方式採用4線制進行資料通信,其特點是速度要比SD方式慢,但匯流排簡單、不需要進行CRC校驗,比較適合單晶片採用這種方式對SD卡進行讀寫操作。

SD卡只能使用3.3V 的IO電壓,所以MCU一定要能夠支援3.3V的IO埠輸出。 注意:在SPI模式下,CS/MOSI/MISO/CLK 都需要加10~100K 左右的提升電阻。 SD 卡要進入SPI 模式很簡單,CS 為(低電壓)則SPI 模式被啟用。

電路圖如下所示:


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

目標:
(1)使用Serial Monitor,查看SD卡的規格以及所儲存的檔案資訊

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


(2) 訊號線連接
                   Arduino_D10 ===> SD卡模組_CS               
                   Arduino_D11 ===> SD卡模組_MOSI
                   Arduino_D12 ===> SD卡模組_MISO
                   Arduino_D13 ===> SD卡模組_SCLK
                  *注意D12和D13並未按照順序



範例程式:

備註:
- 此範例程式直接使用Arduino IDE的SD卡範例程式 (CardInfo.ino),通常讀取記憶卡和檔案資訊的程式格式都一致的,我們只要把修改硬體腳位即可。

範例結果:

插入SD卡,下載程式後,開啟Serial Monitor,SD卡和檔案資訊會顯示在視窗中,如下所示。


====================範例實作(二)====================

目標:
(1)利用Arduino在SD卡裡建立檔案(test.txt)並儲存

接線:
和範例實作(一)的接法相同

範例程式:

備註:
- 此範例程式直接使用Arduino IDE的SD卡範例程式 (Files.ino),會在SD卡內建立一個檔案[test.txt],並且在裡面寫入內容。
- L41: 寫入 [Hello Fayalab ]
- L42: 寫入 [testing 1, 2, 3. ]


範例結果:

打開Serial Monitor,MCU會建立檔案[text.txt]在SD卡中



將SD卡插入電腦讀卡機,用電腦記事本開啟檔案,可看到剛剛在程式裡建立的內容。


討論:
  • SD卡模組通常都會搭配數種模組做搭配以利做為紀錄用,當成一個小型紀錄器,該模組是必不可缺的模組,只是看使用者如何搭配與運用,這模組有多種可能性就等著你去實現它。
  • 使用者可以在Arduino的介面上選檔案>範例>SD裡都有許多參考範例可以用讓SD卡使用更廣。
歡迎大家在底下留言或到我們的粉絲團留言喔!
====================================
fayalab 粉絲團
FB本篇留言版


沒有留言:

張貼留言