12.Micro SD記憶卡讀寫模組
功能:平常使用Arduino進行溫度、濕度、亮度等偵測工作,需要將偵測到的資料儲存在Micro SD記憶卡,這時就需要使用SPI介面的Micro SD記憶卡讀寫模組。
材料接線:Micro SD記憶卡讀寫模組*1、Micro SD記憶卡*1、杜邦線(公對母)*6。
將接腳CS接到預設腳位10,SCK(CLK)接腳位13,MOSI接腳位11,MISO接腳位12,VCC接5V,GND接GND。



程式積木:

程式:
首先開始產生一個test.txt的檔案,模式為寫入(FILE_WRITE),若檔案不存在,就會自動建立新的檔案,儲存一行文字到test.txt檔案中。接著再次開啟剛才的test.txt檔案,把檔案裡面的內容讀取並顯示在序列埠監控視窗。
/* 程式名稱:Micro SD記憶卡讀寫模組 */
#include <SPI.h>
// 添加內建的函式庫SPI.h
#include <SD.h>
// 添加內建的函式庫SD.h
#define SD_CS_PIN SS // CS腳位預設是SS腳位10,如果有多個SPI設備,要設定不同的腳位
File myFile;
//
宣告myFile這個名稱是檔案
void setup() {
Serial.begin(9600);
//
設定與電腦序列埠監控視窗的速率相同
if (!SD.begin(SD_CS_PIN)) {
//
判斷SD模組初始化是否成功
Serial.println("initialization
failed!"); // 序列埠監控視窗顯示初始化失敗
return;
}
Serial.println("initialization done."); //
序列埠監控視窗顯示初始化完成
myFile = SD.open("test.txt", FILE_WRITE); // ******** 打開test.txt檔案,模式為寫入,如果檔案不存在會自動建立,不能用中文檔名
if (myFile)
{ //
如果開啟檔案成功,就進行以下的寫入文字工作
Serial.print("Writing to test.txt...");
//
序列埠監控視窗顯示寫入至test.txt...
myFile.println("yuan.yocjh.kh.edu.tw");
// ******** 儲存一行文字到test.txt檔案中,請自行修改文字內容,中文字也可以
myFile.close(); //
關閉檔案
Serial.println("done."); //
序列埠監控視窗顯示"完成"
}
else
{ //
如果無法開啟檔案,就在監控視窗顯示訊息
Serial.println("error opening
test.txt"); // 序列埠監控視窗顯示"開啟檔案失敗"
}
myFile = SD.open("test.txt"); //
******** 打開檔名為test.txt的檔案,模式預設為讀取
if (myFile)
{ //
如果開啟檔案成功,就進行以下的讀取文字工作
Serial.println("test.txt:"); //
在監控視窗顯示檔案名稱
while (myFile.available())
{ //
一直讀取檔案內容,直到沒有為止
Serial.write(myFile.read());
//
把讀到的內容顯示在監控視窗
}
myFile.close(); //
關閉檔案
} else {
Serial.println("error opening
test.txt"); // 如果無法開啟檔案,就在監控視窗顯示訊息
}
}
void loop() {
}
|
作業1:請將Micro SD記憶卡讀寫模組與溫度感測器LM35結合應用,每隔1秒將偵測到的溫度儲存在Micro SD記憶卡的同一個檔案內。