본문 바로가기
Study/Arduino

SD카드 사용하기

by Answer Choi 2018. 7. 5.
반응형

각종 로그나 정보를 저장하기위해 SD카드를 종종 사용합니다.


아두이노에서는 SD카드의 손쉬운 위해 라이브러리를 제공합니다.



테스트한 SD카드 슬롯입니다.



WaveShare제품이고, Arduino와 연결시 뒷면에 있는 PIN만 연결해 주면 됩니다.


1. 초기화



SD카드를 사용하기위해서는 먼저 초기화를 해주어야 합니다.


1
2
3
4
5
if (!SD.begin(spiCsPin)) {
    debug.println("SD initialization failed!");
}else{              
        debug.println("SD Initialization ok");    
}
cs


Line 1 : sd카드를 초기화하는 부분입니다.


슬롯에 SD카드가 삽입되어 있어야만 true를 받습니다.


파라메터는 SPI CS인데 만약 파라메터를 비우면, 


해당보드에서 사용하는 CS를 사용하게 됩니다.


2. 파일 만들기 


처음에는 파일이 없겠죠?


파일을 만들때는 OPEN을 해주시면 됩니다.


1
2
3
4
5
6
7
8
9
10
String filename="worklog.txt";
File sdFile;
if(!SD.exists(filename)){
    SdFile=SD.open(filename,FILE_WRITE);
    while(!SD.exists(filename));
}else{
    SdFile=SD.open(filename,FILE_WRITE);
}
SdFile.println("Test입니다.");
sdFile.close();
cs


Line 3 : SD.exists()는 파일이 있는지 확인을 위한 것입니다.



 Line 4 : 파일이 없다면 만들어줍니다.



SD.open(파일이름, 용도)인데, 용도는 FiLE_WRITE를 하게되면 


커서가 파일의 제일뒤로와 다음 내용을 작성할 수 있도록 하고,


FILE_READ를 하게되면 커서가 제일 앞으로 가 이미 작성된 내용을 읽을 수있도록 합니다.


만약 파라메터를 넣지않으면 default로 FILE_READ가 선택됩니다.


Line 9 : 파일에 내용을 적을때는 print나 println을 이용하여 적어줍니다.(이건 File class에 있습니다.)


Line 10 : 내용을 다 적었으면, close해줍니다.(역시 File class에 있습니다.)


3. 파일 지우기


1
SD.remove(filename);
cs


4. 폴더 만들기와 지우기


폴더를 만들거나 지우는것도 간단합니다.



1
2
if(!SD.exists("test"))
      SD.mkdir("test");
cs

Line 1 : 폴더가 있는지 확인합니다.


Line 2 : 폴더가 없다면 만듭니다.


1
SD.rmdir("test");
cs


폴더를 삭제하실때는 폴더안에 파일이 없어야 합니다.


반응형

'Study > Arduino' 카테고리의 다른 글

SD card와 Level shifter  (0) 2018.07.17
CLCD 글자 만들기  (0) 2018.07.13
ADS1115 16BIT ADC MODULE - Non library  (0) 2018.06.11
ADS1115 16bit ADC Module  (2) 2018.06.08
PIR Sensor(모션감지센서) DFRobot  (0) 2018.05.31

인기글