/* 程式名稱:每隔1秒將偵測到的溫度儲存在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);
//
設定與電腦序列埠監控視窗的速率相同
pinMode(A0,INPUT); // 設定A0腳位為輸入功能
if (!SD.begin(SD_CS_PIN)) {
//
判斷SD模組初始化是否成功
Serial.println("initialization failed!");
// 序列埠監控視窗顯示初始化失敗
return;
}
Serial.println("initialization done.");
//
序列埠監控視窗顯示初始化完成
}
void loop() {
float temperature;
myFile = SD.open("test.txt", FILE_WRITE); //
******** 打開test.txt檔案,模式為寫入,如果檔案不存在會自動建立,不能用中文檔名
if (myFile) {
//
如果開啟檔案成功,就進行以下的寫入文字工作
Serial.print("Writing to test.txt...");
//
序列埠監控視窗顯示寫入至test.txt...
temperature =analogRead(A0)* 0.48828125;
myFile.println(temperature); //
******** 儲存一行文字到test.txt檔案中,請自行修改文字內容,中文字也可以
Serial.println(temperature); // 讀取類比訊號腳位A0的值*0.48828125換算成為溫度值
}
else {
//
如果無法開啟檔案,就在監控視窗顯示訊息
Serial.println("error opening test.txt");
// 序列埠監控視窗顯示"開啟檔案失敗"
}
myFile.close();
//
關閉檔案
delay(1000);
} |