GPS는 차량 추적 시스템, GPS 시계, 사고 감지 경보 시스템, 교통 내비게이션 및 감시 시스템 등과 같은 많은 전자 프로젝트 및 응용 프로그램에서 사용되는 매우 유용한 장치입니다. 그러나 GPS를 사용하고 GPS에서 데이터를 읽는 방법은 무엇입니까? Arduino를 사용하여 GPS 데이터를 컴퓨터로 직접 쉽게 가져올 수 있습니다.
GPS는 Global Positioning System의 약자로 정확한 UTC 시간 (협정 세계시)으로 지구상의 모든 위치의 위도와 경도를 감지하는 데 사용됩니다. 이 장치는 시간과 날짜와 함께 매초마다 위성으로부터 좌표를 수신합니다. GPS는 높은 정확도를 제공하며 위치 좌표 외에 다른 데이터도 제공하므로 곧 살펴 보겠습니다.
이 arduino GPS 자습서 에서는 컴퓨터와 Arduino를 사용하여 GPS 모듈 을 테스트하거나 인터페이스 하는 방법을 설명합니다. GSM과 컴퓨터를 연결하려면 USB to Serial Converter 또는 Arduino Board가 필요합니다. 여기에서는 Arduino 보드를 사용하여 GPS를 인터페이스합니다. 전원 공급을 위해 Arduino 보드, GPS 모듈, 컴퓨터 및 12v / 3.3v 어댑터 만 필요합니다. 여기에서는 GPS 수신기 모듈 SKG13BL을 사용했습니다 (위 그림 참조).
컴퓨터에 연결하기 전에 Arduino 의 직렬 회로 만 필요하므로 먼저 Arduino 보드에서 Arduino IC (Atmega 칩) 를 제거 해야합니다. 이를 게이트웨이 모드라고합니다. IC 제거는 아래 그림에 나와 있습니다.
이제 아래 그림과 같이 연결하십시오.
- Arduino (TXD)의 디지털 PIN 1에 대한 GPS TX 핀
- Arduino의 GND PIN에 대한 GPS 접지 핀
- Arduino의 3.3v PIN에 대한 GPS 전원 (3.3v) 핀
연결 후 USB 케이블을 컴퓨터에 연결하고 컴퓨터에서 Arduino IDE 소프트웨어를 열고 com 포트를 선택하고 직렬 모니터를 열어 직렬 포트를 듣고 Arduino 및 GPS 모듈의 전원을 켭니다.
이제 아래와 같이 Arduino Serial Monitor 창에 GPS 데이터가 표시됩니다. 아래는 두 개의 스냅 샷입니다. 첫 번째는 GPS가 범위 내에 있지 않을 때이고 두 번째는 GPS가 범위 내에있을 때입니다.
GPS 데이터 GPS 수신기가 범위를 벗어 났을 때:
GPS 수신기가 범위 내에있을 때 GPS 데이터:
시리얼 윈도우에서 $ 기호로 시작하는 문장을 볼 수 있습니다. 이들은 NMEA 문장. GPS 모듈은 NMEA 형식으로 실시간 추적 위치 데이터를 전송합니다 (위 스크린 샷 참조). NMEA 형식은 여러 문장으로 구성되며, 아래에 4 개의 중요한 문장이 있습니다. NMEA 문장 및 데이터 형식에 대한 자세한 내용은 여기에서 확인할 수 있습니다.
- $ GPGGA: 글로벌 포지셔닝 시스템 수정 데이터
- $ GPGSV: GPS 위성보기
- $ GPGSA: GPS DOP 및 활성 위성
- $ GPRMC: 권장되는 최소 특정 GPS / 대중 교통 데이터
이러한 문자열에는 시간, 날짜, 경도, 위도, 속도, 번호와 같은 많은 GPS 매개 변수가 포함됩니다. 사용 된 위성, 고도 및 기타 많은 것.
모든 위치 좌표 및 시간에 대해 $ GPGGA 및 $ GPRMC를 사용할 수 있습니다.
날짜와 시간에는 $ GPRMC 문자열을 사용할 수 있습니다.
위치를 추적 하기 위해 GPS 모듈 을 사용할 때 좌표 만 필요하며 $ GPGGA string에서 찾을 수 있습니다. $ GPGGA (Global Positioning System Fix Data) 문자열 만 프로그램에서 주로 사용되며 다른 문자열은 무시됩니다. 이 문자열은 아래와 같이 수정 데이터로 구성됩니다.
$ GPGGA, 104534.000,7791.0381, N, 06727.4434, E, 1,08,0.9,510.4, M, 43.9, M`` * 47 $ GPGGA, HHMMSS.SSS, 위도, N, 경도, E, FQ, NOS, HDP, altitude, M, height, M,, 체크섬 데이터
식별자 |
기술 |
$ GPGGA |
글로벌 포지셔닝 시스템 수정 데이터 |
HHMMSS.SSS |
시간 (시간 분 초 및 밀리 초 형식) |
위도 |
위도 (좌표) |
엔 |
방향 N = 북, S = 남 |
경도 |
경도 (좌표) |
이자형 |
방향 E = 동쪽, W = 서 |
FQ |
품질 데이터 수정 |
NOS |
사용중인 위성 수 |
HDP |
정밀도의 수평 희석 |
고도 |
고도 (해발 미터) |
미디엄 |
미터 |
신장 |
신장 |
체크섬 |
체크섬 데이터 |
그리고 $ GPRMC 문자열은 주로 속도, 시간, 날짜 및 위치를 포함합니다.
$ GPRMC, 123519.000, A, 7791.0381, N, 06727.4434, E, 022.4,084.4,230394,003.1, W * 6A $ GPRMC, HHMMSS.SSS, A, latitude, N, longitude, E, speed, angle, date, MV, W, CMD
식별자 |
기술 |
RMC |
권장 최소 문장 C |
HHMMSS.SSS |
시간 (시간 분 초 및 밀리 초 형식) |
ㅏ |
상태 // A = 활성 및 V = 무효 |
위도 |
위도 49도 16.45 분 북쪽 |
엔 |
방향 N = 북, S = 남 |
경도 |
경도 (좌표) |
이자형 |
방향 E = 동쪽, W = 서 |
속도 |
매듭 속도 |
각도 |
추적 각도 (도) |
데이트 |
타임 스탬프 (UTC 날짜) |
MV |
자기 변화 |
W |
E / W 변화 방향 |
CMD (* 6A) |
체크섬 데이터 |
대부분이 문자열은 시간, 날짜 및 속도를 측정하는 데 사용됩니다.