아두이노 GPS 실드와 TFT 터치스크린으로 실시간 위치 표시하기
프로젝트 개요
Makerfabs GPS 실드와 ILI9341 2.4인치 TFT 터치스크린 실드를 아두이노 우노에 적층하여, GPS 위성으로부터 수신한 위도/경도/고도 정보를 화면에 실시간 표시하는 프로젝트입니다. 비주얼 프로그래밍 환경인 Visuino를 사용하여 코드 작성 없이 드래그-드롭만으로 펌웨어를 생성합니다.
필요 하드웨어
| 부품 | 수량 | 비고 |
| 아두이노 우노 호환 보드 | 1 | 메가 호환 가능성 있으나 미테스트 |
| Makerfabs 아두이노 GPS 실드 | 1 | U-blox NEO-6M 모듈 탑재, 점퍼로 시리얼 핀 선택 가능 |
| ILI9341 2.4" TFT 터치스크린 실드 | 1 | 아두이노 핀 헤더 직결, SPI 통신 |
참고: Makerfabs에서 위 3종을 묶은 전용 콤보 키트를 판매 중입니다.
Visuino를 이용한 펌웨어 제작 단계
1단계: Visuino 실행 및 TFT 디스플레이 실드 추가
- Visuino 실행 (v1.6.7 이상 필요, visuino.com)
- 아두이노 컴포넌트 드롭다운 → Add Shields... → Displays → TFT Color Touch Screen Display ILI9341 Shield 추가
- Object Inspector에서 Text → Size = 2 설정 (기본 텍스트 크기 확대)
2단계: GPS 위치 표시용 텍스트 필드 3개 추가
- TFT Display의 Elements 속성에서 Text Field 3개 추가
- 공통 속성: Auto Size = False, Width = 10, X = 10
- 개별 Y 위치: Text Field1(Y=20, 위도), Text Field2(Y=40, 경도), Text Field3(Y=60, 고도)
- Text Field1 Initial Value = "Update" (GPS 수신 전 표시)
3단계: Serial GPS 컴포넌트 추가 및 연결
- 컴포넌트 툴박스 필터에 "GPS" 입력 → Serial GPS 컴포넌트 추가
- 연결 (와이어 드래그):
- GPS1.Location.Latitude → Shields.TFT Display.Elements.Text Field1.In
- GPS1.Location.Longitude → Shields.TFT Display.Elements.Text Field2.In
- GPS1.Location.Altitude → Shields.TFT Display.Elements.Text Field3.In
- GPS1.Out → Arduino.Serial[0].In (하드웨어 시리얼 0번 핀)
4단계: 코드 생성, 컴파일, 업로드
- Visuino에서 F9 누르거나 툴바 버튼 클릭 → 아두이노 IDE 열림
- 아두이노 IDE에서 업로드 버튼 클릭 (이 시점에는 GPS 실드 미장착!)
5단계: GPS 실드 하드웨어 설정 및 장착
- Makerfabs GPS 실드 점퍼 설정: TX → Pin 0 (RX), RX → Pin 1 (TX) (하드웨어 시리얼 사용)
- 아두이노 우노 위에 TFT 실드 장착 → 그 위에 GPS 실드 장착 (또는 순서 무관, 핀 헤더 통과형)
6단계: 실행 및 확인
- 아두이노 전원 인가
- 초기 화면에 "Update" 표시
- GPS 실드 측면 블루 LED 점멸 시작 → 위성 획득 중
- 수십 초~수 분 후 위도/경도/고도 숫자 표시됨
- 데이터 미표시 시 전원 재투입으로 GPS 콜드 스타트 유도
Visuino 프로젝트 파일 다운로드
완성된 Visuino 다이어그램 이미지 및 .visuino 프로젝트 파일(원문 내 첨부: FJV6QQLIWMR2MVJ.zip)을 Visuino에서 열면 즉시 수정/빌드 가능합니다.
작동 화면 예시

위도, 경도, 고도가 각각 한 줄씩 큰 글자로 표시됩니다. 터치스크린 기능은 본 예제에서는 미사용이나, 향후 맵 표시, 웨이포인트 저장 등 인터랙티브 기능 확장에 활용 가능합니다.
확장 아이디어
- SD 카드 로거 추가: GPS 궤적(GPX/NMEA) 저장 → PC에서 지도 시각화
- 블루투스/와이파이 모듈 연동: 스마트폰 앱으로 실시간 위치 공유
- 배터리 전원 + 슬립 모드: 휴대용 GPS 로거로 변환
- 터치스크린 활용: 메뉴 시스템으로 설정 변경, 웨이포인트 마크, 나침반 모드 등
- 아두이노 메가 사용 시: 하드웨어 시리얼 포트 다중 활용으로 GPS+디버그 동시 가능
참고 자료
- Visuino 공식 사이트: visuino.com - 튜토리얼, 예제, 포럼
- Makerfabs GPS 실드 문서: makerfabs.com
- ILI9341 TFT 실드 라이브러리 (Adafruit_GFX, Adafruit_ILI9341 등)
- U-blox NEO-6M 데이터시트: NMEA 프로토콜, 설정 명령어