Lab15

SD 記憶卡

[材料]

Arduino主板 x 1

麵包板 x 1

micro SD模組 x 1     (SD卡模組有兩排插槽,建議兩排都插滿)

2g以內SD卡  x 1  (SD卡先格式化成fat格式)

注意:請在Arduino關閉電源時,再進行"安裝"和"退出"SD記憶卡,以免SD記憶卡受損。

[micro SD模組之腳位]

CS   --> to Arduino pin4 

SCK  --> to Arduino pin13

MOSI --> to Arduino pin11

MISO --> to Arduino pin12

VCC  --> to Arduino 5V

GND  --> to Arduino GND


注意:pin10已被SD記憶卡的函式庫使用,不能再作為其他感測器使用。


/*  Lab15 SD記憶卡 程式碼*/

/*SD卡

CS   --> to Arduino pin4 

SCK  --> to Arduino pin13

MOSI --> to Arduino pin11

MISO --> to Arduino pin12

VCC  --> to Arduino 5V

GND  --> to Arduino GND

*/


#include <SPI.h>

#include <SD.h>

File myFile;

String filename = "test.csv";     //要寫入的檔案名稱


void setup() {

  pinMode(10,OUTPUT);             //保留pin10, SD Library需要使用

  while (!SD.begin(4)) {}

  Serial.begin(9600);

}


void loop()

{

  float timesec= millis()/1000.0;           //目前時間,單位是"秒"

  char timesecstr[6];

  dtostrf(timesec,3, 3, timesecstr);   

  Serial.print(timesecstr);


  myFile = SD.open(filename, FILE_WRITE);

  if (myFile) {

    Serial.print("Writing to test.txt...");

    myFile.print(timesecstr);           //寫入時間 

    myFile.print(",");                  //之後每個數據之間加入逗號","

    myFile.print("testing123");         //要寫偵測數據時,這一行請換掉

    //myFile.print(",");                //每個數據之間加入逗號","

    myFile.println();

    myFile.close();                     //關閉檔案

    Serial.println("done.");

  } else {

    Serial.println("error opening test.txt");

  }


}


[基本問題]

1. 使用SD記憶卡紀錄「溫濕度」or「氣壓」or「PM2.5」的數據,並用EXCEL做出時間關係圖。


2. SD記憶卡、WIFI紀錄、LCD螢幕顯示、電腦螢幕顯示,以上四種數據顯示的方式各有那些優缺點,或使用場合?



[挑戰問題]

1. 使用SD記憶卡,設計一個實驗,長期監測數天的環境變化資料。