본문 바로가기
아두이노 기타모듈

[메모리/SD카드쉴드] Arduino에 저장장치가 필요한가요?SD Card Shield를 써보세요.

by 작동미학 2015. 11. 1.
반응형

SD Card shield를 통해, Arduino의 데이터를 SD Card에 저장해보자.

 

▶ 이 가이드를 따라하면

- Arduino에 저장장치를 써보자.

 

▶ 먼저 읽으면 좋은 글

- Arduino 일반 : http://bbangpan.tistory.com/1

 

▶ 부품 설명 및 회로 구성

Arduino에서도 전원을 끄고 켠 이후에도 기존 내용을 저장하고 싶을 때가 있다. 물론 플래쉬메모리와 유사한 EEPROM (UNO의 경우 512 bytes) 을 활용할 수 있지만 매우 작다.

(https://www.arduino.cc/en/Tutorial/EEPROMWrite ) 다른 방법이 없는가? 있다. SD카드 쉴드가 그것이다. SD카드/microSD(SDHC 포함) 카드 두가지를 모두 사용할 수 있다. 이 방식은 다른 쉴드에 탑재되어 있기도 한데, 이더넷 쉴드에도 이 SD카드 슬롯이 달려있다(주로 네트워크 전송 전에 데이터를 로깅하기 위한 용도로 사용됨).

본 글에서는 이 부류들의 가장 대표적인 SD Card Shield를 살펴보기로 하자. 각 제조사나 버전에 따라서 지원하는 메모리 카드나 Arduino Mega호환 여부 등이 다르므로 스펙을 잘 살펴보고 필요에 따라 구매하면 된다. 여기서는 SD Card Shield V3.1을 사용한다(동일 제품 V3.0과 유사). 단 이 버전은 또한 Arduino Mega와는 호환되지 않으므로 주의한다 (핀을 수작업으로 분기하면 Mega에서도 작동하긴 한다고 한다. )

역시 어떻게 생겼는지 보자. 자세한 스펙은 http://www.seeedstudio.com/wiki/SD_Card_Shield_V3.0 에서 확인한다. (참조로 SD와 MicroSD를 동시에 장착하지 말도록 권장하고 있다)

<SD Card Shield V3.1 앞뒤/모습. SD/MicroSD를 지원하고 작은 스위치로 둘중 하나를 선택하게 되어있다.>

<MicroSD 카드를 끼우고 Arduino UNO에 결합시켰다>

메모리 카드는 FAT16,FAT32만 지원하므로 NTFS로 포맷하지 않도록 한다. 필자의 경우에는 32G SDHC카드를 끼웠는데 정상동작했다(스펙에는 16G이하만 지원한다고 나온다)

그러면 작동을 시켜보자.


▶ 소스 코드 입력 및 구동

SdFat라이브러리가 필요한데 https://github.com/greiman/SdFat 에서 받는다. 주의할 것은 이 라이브러리를 받아서 압축을 풀 때 SdFat만, Arduino설치폴더/libraries에 넣도록 하자. 전체를 모두 압축 풀수도 있는데, 그러면 특정 헤더파일을 찾지 못하는 경우가 있다.

Github 오른쪽 중앙의 download ZIP에서 받은 후에

<download ZIP을 선택하자>

압축 풀면 나오는 SdFat_master/SdFat 폴더를 Arduino설치폴더/libraries밑에 복사하고 Arduino Sketch를 재실행하면 예제에서 ReadWrite예제를 열어서 작동할 수 있다.

<파일/예제/SdFat/ReadWrite 를 선택해 컴파일하고 업로드하자>

이 예제는 SD카드 안에 test.txt라는 파일을 만들어서 간단한 예제 텍스트를 쓴 후에, 해당 파일을 읽어서 쓴 내용을 Serial로 뿌려주는 역할을 한다. 정상 작동하면 아래와 같이 볼 수 있다.

<예제 실행 후 시리얼 모니터 화면>

해당 메모리 카드를 메모리 리더에 넣고 실제 test.txt가 생성되었는지 확인해보자. 신기하게 생성일이 2000년인 파일이 생겼음을 알 수 있다. 이 ReadWrite외에도 타 예제를 통해 파일 정보 확인 등 다양한 활동이 가능하다.

<해당 메모리의 파일 실제 목록이다. test.txt가 생겼다>

내부에 포함된 예제를 변형하여 다양한 정보를 저장 혹은 읽을 수 있다.

▶ 구매 가이드

Arduino SD Card Shield : http://www.aliexpress.com/w/wholesale-sd-card-shield.html?spm=2114.01020208.0.325.Wm7B96&site=glo&SearchText=sd+card+shield&g=y&SortType=total_tranpro_desc&groupsort=1&initiative_id=SB_20151031065757&shipCountry=kr

 

강의 키워드

아두이노 SD카드 쉴드, Arduino SD Card Shield, 아두이노 메모리, 아두이노 저장장치, 아두이노 메모리, FAT, FAT16, FAT32, SdFat

 

반응형