아두이노 메가 2560 GPS/GPRS 차량 트래커 'Track ME' 프로토타입
프로젝트 개요
개인/차량 위치 추적기 첫 프로토타입으로, 아두이노 메가 2560에 GPS(NEO-6M), GPRS 실드(Seeed Studio V2.0), SD 카드 실드를 조합했습니다. 전화를 걸면 현재 위치 또는 마지막 알려진 위치를 구글 맵 링크와 함께 SMS로 회신해주는 시스템입니다.
주요 기능
- GPS로 실시간 위치 수신 (위도/경도)
- GPRS 실드로 음성 통화 수신 감지 → 자동 거절 후 위치 SMS 발송
- GPS 수신 불가 시(위성 3개 미만) 마지막 유효 위치 전송
- 날짜, 시간, 위치, SMS 발송 상태를 SD 카드에 로그 저장
- 9V 배터리로 독립 구동 (프로토타입 기준 약 1시간 지속)
하드웨어 구성
| 부품 | 수량 | 비고 |
| 아두이노 메가 2560 | 1 | 다중 하드웨어 시리얼 포트 활용 |
| NEO-6M GPS 모듈 | 1 | Serial2 (핀 16/17) 연결 |
| Seeed GPRS 실드 V2.0 | 1 | Serial1 (핀 18/19) 연결, J7 점퍼 SW시리얼 설정 |
| Adafruit SD 카드 실드 | 1 | SPI 핀 재배선 필요 (UNO→MEGA) |
| 9V 배터리 | 1 | Vin 또는 DC 잭 연결 |
| 플라스틱 케이스 | 1 | 방수/고정용 |
핵심 배선 포인트 (메가 2560 기준)
SD 카드 실드 SPI 핀 재배선
UNO용 실드를 메가에 사용하려면 SPI 핀을 다음과 같이 점퍼 와이어로 연결해야 합니다:
- MOSI: 11 → 51
- MISO: 12 → 50
- SCK: 13 → 52
- SS: 10 → 53
GPRS 실드
J7 점퍼를 'Software Serial' 위치로 설정 후, 실드 핀 7, 8을 메가 Serial1(핀 18=RX, 19=TX)에 연결
GPS 모듈
메가 Serial2(핀 16=RX, 17=TX) 연결, 전원은 SD 실드 5V/GND에서 공급
소프트웨어 라이브러리 및 설정
- GPRS 라이브러리:
GSM.h에서 #define MEGA 활성화, HWSerial.h에서도 #define MEGA 활성화 필요
- GPS 라이브러리: TinyGPS++ 사용
- SD 라이브러리: 기본 내장 (CS 핀 53)
코드 동작 흐름
- 초기화: GSM(9600bps), GPS(Serial2, 9600bps), SD 카드
- 메인 루프:
Get_GPS()로 위성 수/유효 위치 갱신 → Check_call()로 착신 감지
- 착신 시(
CALL_INCOM_VOICE_AUTH): 자동 거절 후 Send_SMS() 실행
- SMS 내용: 위성≥3개 & 유효위치O → 현재 위치 / 위성<3개 & 유효위치O → 마지막 위치 / 유효위치X → 전송 안 함
- 모든 이력(시각, 전화번호, 좌표, SMS 결과)을
datalog.txt에 추가 기록
개선점 및 향후 계획
- 배터리 지속 시간 1시간 → 슬립 모드 구현 필수
- 크기 최적화: 맞춤 PCB 설계 완료 (이미지 참고)
- 에너지 절약, 소형화, 방수 케이스 적용한 차기 버전 개발 예정
회로도
제공된 이미지 2장: 전체 시스템 블록도 및 실드 간 상세 배선도