Visuino로 아두이노 나노에 GPS 데이터 마이크로SD 카드 기록하기
부품 및 소모품
| 부품 | 수량 | 비고 |
| 아두이노 나노 R3 | 1 | 나노 사용했지만 다른 보드도 가능 |
| GPS 수신기 (일반) | 1 | |
| 마이크로SD 모듈 (일반) | 1 | |
| 마이크로SD 카드 (일반) | 1 | |
| 브레드보드 (일반) | 1 | 3개 와이어 연결 가능한 어떤 방식이든 OK |
| 점퍼 와이어 (일반) | 1 | 암-암 7개, 암-수 3개(빨강) |
앱 및 온라인 서비스
- Visuino - 아두이노용 그래픽 개발 환경
- 아두이노 IDE
프로젝트 개요
마이크로SD 카드는 저렴하고 편리한 데이터 저장 매체로 아두이노 센서 데이터 저장에 매우 적합합니다. 저렴한 마이크로SD 카드 모듈도 쉽게 구할 수 있으며, 초음파 거리 센서 데이터를 마이크로SD에 기록하는 튜토리얼과 GPS 모듈 위치 정보를 LCD에 표시하는 튜토리얼을 이미 만들었습니다. 곧이어 GPS 정보를 마이크로SD에 기록하는 튜토리얼 요청이 들어왔습니다.
마이크로SD 기록 자체는 쉽지만 파일 시스템 관리가 메모리를 많이 차지해 아두이노 우노나 나노 같은 소형 컨트롤러를 압도할 수 있습니다. 실제로 마이크로SD 지원을 추가하면 나노와 우노에는 다른 용도로 쓸 메모리가 거의 남지 않습니다. 메가나 Teensy 같은 더 큰 메모리 컨트롤러를 쓸 수도 있지만, GPS 모듈의 시리얼 데이터를 마이크로SD 카드에 그대로 기록만 하면 아두이노 나노에도 충분한 메모리가 남고, 나중에 다른 컴퓨터에서 마이크로SD 데이터를 처리할 수 있습니다.
1단계: 부품 준비
- 아두이노 호환 보드 (아두이노 나노 사용, 다른 보드도 가능)
- GPS 모듈 1개
- 마이크로SD 카드 모듈 1개
- 마이크로SD 카드 1개
- 소형 브레드보드 1개 (3개 와이어 연결 가능한 어떤 방식이든)
- 암-암 점퍼 와이어 7개
- 암-수 전원(빨강) 와이어 3개
2단계: Visuino 시작 및 아두이노 보드 타입 선택
아두이노 나노는 시리얼 포트가 하나뿐이고 프로그래밍에 필요하므로 GPS 연결 전에 아두이노 나노를 먼저 프로그래밍해야 합니다.
아두이노 IDE 설치: arduino.cc
Visuino 설치: visuino.com
- Visuino 시작 (첫 번째 그림 참조)
- 아두이노 컴포넌트의 Tools 버튼 클릭 (그림 1)
- 대화상자에서 Arduino Nano 선택 (그림 2)
3단계: Visuino에서 마이크로SD 카드 모듈 컴포넌트 추가 및 연결
- 컴포넌트 툴박스 필터 박스에 "sd" 입력 후 "Micro SD Card Module" 컴포넌트 선택하여 디자인 영역에 배치 (그림 1)
- SDCard1 컴포넌트의 Out 핀을 아두이노 컴포넌트의 SPI 채널 In 핀에 연결 (그림 2)
- SDCard1 컴포넌트의 ChipSelect 출력 핀을 아두이노 컴포넌트의 Digital[ 10 ] 채널 Digital 입력 핀에 연결 (그림 3)
4단계: Visuino에서 마이크로SD 카드 컴포넌트에 파일 요소 추가 및 구성
- SDCard1 컴포넌트의 Tools 버튼 클릭 (그림 1)
- Elements 편집기에서 오른쪽 창의 "File" 요소 선택 후 왼쪽 + 버튼 클릭하여 파일 요소 추가 (그림 2)
- 오브젝트 인스펙터에서 File1 요소의 Path Name 속성 값을 "GPSLog.txt"로 설정 (그림 3)
5단계: Visuino에서 시리얼 포트를 파일 요소에 연결
- 아두이노 컴포넌트의 Serial[ 0 ] 채널 Out 핀을 SDCard1 컴포넌트의 Elements.File1 In 입력 핀에 연결 (그림 1, 2)
6단계: 아두이노 코드 생성, 컴파일, 업로드
- Visuino에서 F9 누르거나 그림 1의 버튼 클릭하여 아두이노 코드 생성 및 아두이노 IDE 열기
- 아두이노 IDE에서 Upload 버튼 클릭하여 컴파일 및 업로드 (그림 2)
7단계: 마이크로SD 모듈을 아두이노에 연결
- 암-암 CS(회색), SCK(주황), MOSI(파랑), MISO(보라), GND(검정)를 마이크로SD 모듈에 연결
- 암-수 전원(빨강) 와이어의 암쪽을 마이크로SD 모듈 VCC/전원 핀에 연결, 수쪽은 미연결 상태로 둠 (그림 1)
- 다른 암-수 전원 와이어를 아두이노 5V 핀에 연결, 수쪽은 미연결 (그림 2)
- GND 와이어(검정) 다른 쪽을 아두이노 GND 핀에 연결 (그림 2)
- SCK(주황) 다른 쪽을 아두이노 디지털 핀 13에 연결 (그림 3)
- MISO(보라) 다른 쪽을 아두이노 디지털 핀 12에 연결 (그림 4)
- MOSI(파랑) 다른 쪽을 아두이노 디지털 핀 11에 연결 (그림 4)
- CS(회색) 다른 쪽을 아두이노 디지털 핀 10에 연결 (그림 4)
- 그림 5: 아두이노 나노의 GND, 5V, 디지털 10, 11, 12, 13 핀 위치 표시 (빨강). 파랑은 이전 단계 연결
8단계: GPS 모듈을 아두이노에 연결
- 암-수 전원(빨강) 와이어 암쪽을 GPS 모듈에 연결, 수쪽은 미연결
- 암-암 GND(검정), TX(노랑) 와이어를 GPS 모듈에 연결
- GND 와이어 다른 쪽을 아두이노 GND 핀에 연결 (그림 2)
- TX(노랑) 와이어 다른 쪽을 아두이노 RX 핀에 연결 (그림 2)
- 그림 3: 아두이노 나노의 GND, RX 핀 위치 표시 (빨강). 파랑은 이전 단계 연결
9단계: 전원 와이어 연결 및 마이크로SD 카드 장착
- 3개 전원 와이어(빨강)의 수쪽 끝을 브레드보드 등을 이용해 서로 연결 (그림 2)
- 마이크로SD 카드를 마이크로SD 카드 모듈에 장착 (그림 2)
10단계: 실행 및 확인
축하합니다! 프로젝트가 완성되었습니다.
그림 1과 영상은 연결되고 전원이 공급된 프로젝트 모습입니다. 아두이노 디지털 핀 13의 LED가 GPS에서 새 데이터가 마이크로SD 카드에 기록될 때마다 주기적으로 깜빡입니다.
그림 2는 마이크로SD 카드에 기록된 데이터 예시입니다.
그림 3은 완성된 Visuino 다이어그램입니다. 이 튜토리얼용으로 만든 Visuino 프로젝트도 첨부되어 있습니다. Visuino에서 다운로드해 열 수 있습니다: visuino.com
FBY57XIIO8U2WS4.zip