2015年7月18日 星期六

SD Card 模塊

SD Card 模塊, 都無乜特別, 咪就係用黎讀寫 SD Card 咁大把.
有時用黎做下 logging 都幾好既, 又或者可以用黎放歌仔去播.


睇睇樣先:



基本資料:


電壓:5V/3.3V
接口:SPI


相關資料下載:




接線方法:


UNOSD Module
D4 / D10CS
D11MOSI
D12MISO
SCKD13
5V/3.3V5V/3.3V
GNDGND

注意:
一般 CS 係接 D10 既, 不過官網上既例子係用左 D4.  所以要睇清楚去接.
呢塊野可以用 5V 或 3.3V 既, 如果 UNO 就無所謂, 無樣都有, 否則就跟番你塊板有乜接乜.



測試程式:

基本上 Arduino IDE 本身已有唔少 (File->Examples->SD), 我都唔想多講.
不過就左方便對比, 做左幾個測試結果出黎.

首先搵左張 2GB 既 SD card (注意, 佢唔支援 SDHC 的, 一定要最弱既 SD).
Format 用 FAT16, 再整左一個 ReadMe.Txt, 一個 Arduino 既 Folder, 入面有個 Dummy.Txt.
全部 file 都係吉既, 只係為左測試用.

注意, 因為部份 example 會寫 file, 呢個結果係由 吉card 順住做的.
而當中有幾個會不斷 write 野, 中途停佢好似會出事.  個 Example 應該加個位比人 quit.

執行 CardInfo 既結果:



執行 Datalogger 既結果:
(注意, 因為一 upload 完佢就行, 係咁 send 野, 有可能你一開始仲有幾個數字的)


執行 Datalogger 既結果:
(注意, 同樣一 upload 完佢就行, 係咁 send 野, 有可能你一開始仲有幾個數字的)


執行 Files 既結果:


執行 listfiles 既結果:
玩完上面幾個 examples, 因為經常會 write 緊果下停, 有機會出現呢個 error, 今次剛好在測試 listfiles 時出現.  


只好再 format 佢一次, create 番之前講既 file 再行.

最後係執行埋 ReadWrite...好不幸, 出 error:

抽出黎再試左幾次都係一樣.  開番張 card 黎睇, 無哂我之前 create 既野, 得番一個 TEST.TXT, 入面吉既.   咁又試下再 format 張 card, 吉既比佢行.  結果都係一樣, 放棄了.

最後提提大家, 今次 Arduino IDE 入面既 Example, 真係好差.  SD card 既 read / write, 除非你做 自動系統, 否則 read / write SD card 最好有少少 UI, 避免 read / write 過程中 SD card 被拔走.

之前自己做既 logging, 一個自動化系統, 每次 write 緊都會亮燈, write 完即 close file 等一等就熄燈.  而且每次再 write 都會有一定時間分隔.  除非死機, 否則自己見到亮燈就唔會停佢.




沒有留言:

張貼留言