You are currently viewing Arduino SD卡模組指南

Arduino SD卡模組指南

對於帶有SD卡模組的Arduino項目,請閱讀我們的博客文章:帶有SD卡的Arduino溫度數據記錄器

介紹SD卡模組

SD卡模組對需要數據記錄的專案特別有用。

Arduino可以在SD卡中建立文件,以使用SD庫寫入和保存數據 。

不同供應商提供了不同的模型,但是它們都使用SPI通信協議以相似的方式工作。本教程中使用的模組是下圖所示的模組(前視圖和後視圖)。

該模組與micro SD卡配合使用。

引腳接線

下表顯示了如何將SD卡模組連接到Arduino

SD卡模組 接線到Arduino Uno接線到Arduino Mega
VCC3.3V或5V(請查看模組的數據表)3.3V或5V(請查看模組的數據表)
CS453
MOSI1151
SCK1352
MISO1250
GNDGNDGND

注意:不同的Arduino板具有不同的SPI引腳。如果您使用的是其他Arduino開發板,請查看Arduino官方文檔

準備SD卡

將SD卡模組與Arduino一起使用時的第一步是將SD卡格式化為FAT16或FAT32。請按照以下說明進行操作。

1)要格式化SD卡,請將其插入電腦中。轉到我的電腦,然後右鍵點擊SD卡。選擇格式

2)彈出一個新視窗。選擇FAT32,按 開始以初始格式化過程,然後按照螢幕上的說明進行操作。

測試SD卡模組

將格式化的SD卡插入SD卡模組中。

如以下電路原理圖所示,將SD卡模組連接到Arduino,或檢查上一節中的引腳接線

注意:根據所使用的模組,插針的順序可能不同。

程式碼– CardInfo

為了確保所有接線正確並且SD卡工作正常,請在Arduino IDE窗口中轉到檔案 > 範例 > SD > CardInfo

將程式碼上傳到您的Arduino開發板。確保選擇了正確的開發板和COM端口。

以9600的波特率打開序列監視器,您應該會看到SD卡信息。

如果一切正常,您將在序列埠監視器上看到類似的消息。

讀寫SD卡

SD 庫提供了有用的功能,可輕鬆地寫入和讀取SD卡。

要寫入和讀取SD卡,首先需要 include SPI 和 SD 程式庫:

#include <SPI.h> 
#include <SD.h> 

您還必須在chip(CS)引腳(在本例中為引腳4)上初始化SD卡模塊。

SD.begin(4);

要在SD卡中打開新文件,您需要建立一個 file物件引用您的數據文件。例如:

dataFile = SD.open("data.txt", FILE_WRITE);

該函數的第一個參數是文件名, data.txt和 FILE_WRITE

此行代碼在SD卡上建立一個名為data.txt的文件。如果data.txt文件已經存在,則Arduino將打開該文件,而不是建立另一個文件。

要將數據寫入當前打開的文件,請使用:

dataFile.write(data);

dataFile 中是先建立文件的物件, data 是您要在文件中寫入的內容。

您也可以使用 print() 或者 println() 將數據印到文件中的功能:

dataFile.print(data);
dataFile.println(data); // followed by a new line

要讀取保存在文件中的數據,請執行以下操作:

dataFile.read();

您只能一次寫入一個文件,因此需要先關閉文件,然後再繼續下一個文件。所以要先關閉我們剛剛建立的data.txt文件:

SD.close("data.txt");

該函數的參數是您要關閉的文件,在本例中為 data.txt

有關如何讀寫的完整草稿碼,請在Arduino IDE中轉到“檔案 >“範例 >“ SD” >“ ReadWrite”。

總結

這只是Arduino的SD卡模組的快速介紹。

確保可以在在Arduino上使用SD卡模組查,可以看一下下面博客文章中的數據記錄項目範例: 

在該項目中,我們使用DS18B20溫度感測器和RTC模塊將溫度讀數保存在帶有時間紀錄的SD卡上。

如果您喜歡Arduino項目,請確保檢查我們最新的Arduino課程:  Arduino分步項目–生成23個項目

我們希望您發現本指南對您有所幫助。

謝謝閱讀。

發佈留言