[메모리/SD카드쉴드] Arduino에 저장장치가 필요한가요?SD Card Shield를 써보세요.
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