// 사용한 SD 카드기 는 SPI 통신을 하는 모듈이다
// UNO 인 경우 D13-SCK, D12-MISO, D11-MOSI, CS-10
// CS 핀은 D10 을 선택 하였다. SD 에 데이터를 저장 하려면 4 단계가 필요하다
// 1) initializeSD, 2) createFile, 3) writeToFile, 4) closeFile
  
  #include <SD.h>
  #include <SPI.h>
  
  int CS_PIN = 10 ; // CS pin
  int Sensor0 = 0 ;
  String Data ="" ; 

  File myFile;

  void setup() {
  Serial.begin(9600);
  pinMode(CS_PIN, OUTPUT);

    initializeSD();               //  1 단계 
    createFile("Sample1.txt");    //  2 단계 
   
    for( int i=0 ; i<6; i++ )  {     // 6 개 데이터 쓰기  
     writeToFile() ;            //  3 단계   
    }   
     myFile.close();            //  4 단계    
  } 
  
  //========= 1 단계 ========== 
 void initializeSD() {
  Serial.println("Initializing SD card...");
  pinMode(CS_PIN, OUTPUT);

  if (SD.begin()) {
    Serial.println("SD card is ready to use.");
  } else {
    Serial.println("SD card initialization failed");
    return;
  }
 }  
 
 // ========= 2 단계 ==========
 int createFile(char filename[]) {
  myFile = SD.open(filename, FILE_WRITE);

  if (myFile) {
    Serial.println("File created successfully.");
    return 1;
  } else {
    Serial.println("Error while creating file.");
    return 0;
  }
 }  
 
 // ======== 3 단계 =============
 int writeToFile() {  
  if (myFile) {
    Sensor0 = analogRead(A0) ; 
    Data= String(Sensor0) ;
             
    myFile.println(Data);  // Write this Data to SD
    
    Serial.println(Data);
    delay(100);    
    return 1;
  } else {
    Serial.println("Couldn't write to file");
    return 0;
  }
 }  // =============================
   
  void loop() {  }

 

// 사용한 SD 카드기 는 SPI 통신을 하는 모듈이다
// UNO 인 경우 D13-SCK, D12-MISO, D11-MOSI, CS-10
// CS 핀은 D10 을 선택 하였다. SD 에 데이터를 저장 하려면 4 단계가 필요하다
// 1) initializeSD, 2) createFile, 3) writeToFile, 4) closeFile
  
  #include <SD.h>
  #include <SPI.h>
  
  int CS_PIN = 10 ; // CS pin
  int Sensor0 = 0 ;
  int Sensor1 = 1 ;
  String Data ="" ; 

  File myFile;

  void setup() {
  Serial.begin(9600);
  pinMode(CS_PIN, OUTPUT);

    initializeSD();               //  1 단계 
    createFile("Sample2.csv");    //  2 단계 
   
    for( int i=0 ; i<6; i++ )  {     // 6 개 데이터 쓰기  
     writeToFile() ;            //  3 단계   
    }   
     myFile.close();            //  4 단계    
  } 
  
  //========= 1 단계 ========== 
 void initializeSD() {
  Serial.println("Initializing SD card...");
  pinMode(CS_PIN, OUTPUT);

  if (SD.begin()) {
    Serial.println("SD card is ready to use.");
  } else {
    Serial.println("SD card initialization failed");
    return;
  }
 }  
 
 // ========= 2 단계 ==========
 int createFile(char filename[]) {
  myFile = SD.open(filename, FILE_WRITE);

  if (myFile) {
    Serial.println("File created successfully.");
    return 1;
  } else {
    Serial.println("Error while creating file.");
    return 0;
  }
 }  
 
 // ======== 3 단계 =============
 int writeToFile() {  
  if (myFile) {
    Sensor0 = analogRead(A0) ; 
    Sensor1 = analogRead(A1) ; 
    Data= String(Sensor0)+","+String(Sensor1) ;
             
    myFile.println(Data);  // Write this Data to SD
    
    Serial.println(Data);
    delay(100);    
    return 1;
  } else {
    Serial.println("Couldn't write to file");
    return 0;
  }
 }  // =============================
   
  void loop() {  }

 

// CSV type data save to SD card
// 사용한 SD 카드기 는 SPI 통신을 하는 모듈이다
// UNO 인 경우 D13-CKK, D12-MISO, D11-MOSI
// CS 핀은 D10 을 선택 하였다. SD 에 데이터를 read 하려면 2 단계가 필요하다
// 1) initializeSD, 2) Read_Data

  #include <SD.h>
  #include <SPI.h>
  
  File myFile;  
  int CS_PIN = 10 ; // CS pin
  
  void setup() {
  Serial.begin(9600);
  pinMode(CS_PIN, OUTPUT);
  
  initializeSD();  // 1 단계
  Read_Data() ;    // 2 단계
  }

  void loop() {  }  //==============

  void initializeSD() {
  Serial.println("Initializing SD card...");
  pinMode(CS_PIN, OUTPUT);

  if (SD.begin()) {
    Serial.println("SD card is ready to use.");
  } else {
    Serial.println("SD card initialization failed");
    return;
  }
 }  // =============================

  void Read_Data() {
    myFile = SD.open("Sample2.csv"); 
  if (myFile) {
    Serial.println("Sample2.csv:");   

    // read file until no more
    while (myFile.available()) {
     long Data = myFile.read() ;
     Serial.write(Data);
    }
   
    myFile.close();   // close the file:
  } else {
    // if the file didn't open, print an error:
    Serial.println("error opening test.txt");
    }
 } // =================