산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

아두이노 메가와 NEO-6M GPS 모듈 연결하기: 단계별 가이드

부품 및 소모품

부품 수량
아두이노 메가 2560 1
u-blox NEO-6M GPS 모듈 1

앱 및 온라인 서비스

프로젝트 소개

아두이노 메가와 NEO-6M GPS 모듈 인터페이싱 튜토리얼이 없어 직접 만들게 되었습니다. 도움이 되길 바랍니다!

필요한 부품

하드웨어

소프트웨어

총 비용: 약 $60

GPS 정보

GPS란?

글로벌 포지셔닝 시스템(GPS)은 최소 24개 위성으로 구성된 위성 기반 항법 시스템입니다. 날씨에 상관없이 전 세계 어디서든 24시간 작동하며, 구독료나 설정 비용이 없습니다.

GPS 작동 원리

GPS 위성은 하루에 두 번 정밀한 궤도로 지구를 돕니다. 각 위성은 고유 신호와 궤도 매개변수를 전송하며, GPS 수신기는 이 정보를 삼각측량해 사용자의 정확한 위치를 계산합니다. 본질적으로 수신기는 신호 도달 시간으로 각 위성까지의 거리를 측정하고, 여러 위성 데이터로 3D 위치(위도, 경도, 고도)를 결정합니다.

2D 위치(위도, 경도)만 구하려면 최소 3개 위성, 3D 위치는 4개 이상 위성이 필요합니다. 일반적으로 8개 이상 위성을 추적하지만 시간과 위치에 따라 다릅니다. 위치가 결정되면 속도, 방위, 궤적, 이동 거리, 목적지까지 거리 등도 계산 가능합니다.

GPS 신호

GPS 위성은 최소 2개의 저전력 무선 신호를 전송합니다. 신호는 직진하므로 구름, 유리, 플라스틱은 통과하지만 건물이나 산 같은 고체 물체는 차단합니다(최신 수신기는 건물 내부에서도 수신 가능). GPS 신호에는 3가지 정보가 포함됩니다:

NEO-6M GPS 모듈

외장 안테나 포함, 헤더 핀은 미포함이라 납땜 필요합니다.

NEO-6M GPS 모듈 상세

NEO-6M GPS 칩

u-blox NEO-6M 칩이 핵심입니다. 50채널로 최대 22개 위성 추적, 업계 최고 감도 -161 dB, 전류 소모 45mA. TTFF(Time-To-First-Fix) 1초 미만. 전력 절약 모드(PSM)로 11mA까지 낮출 수 있어 웨어러블 등에 적합. 0.1" 피치 헤더로 UART 통신 핀 등이 나와 있습니다.

참고: 보드레이트 4800~230400bps 지원, 기본값 9600bps.

위치 고정 LED 표시

3.3V LDO 레귤레이터

NEO-6M 칩 동작 전압은 2.7~3.6V지만, 모듈에 MIC5205 3.3V 레귤레이터가 내장되어 있습니다. 로직 핀은 5V 톨러런트라 아두이노 등 5V 마이컴과 레벨 컨버터 없이 직접 연결 가능합니다.

배터리 & EEPROM

HK24C32 4KB I2C EEPROM과 충전식 버튼 배터리(슈퍼커패시터 역할)가 탑재되어 있습니다. EEPROM과 배터리는 배터리 백업 RAM(BBR)을 유지하며, 여기에는 클럭 데이터, 최신 위치 데이터, 모듈 설정이 저장됩니다. 영구 저장용은 아닙니다. 배터리 덕분에 콜드 스타트 없이 1초 만에 빠른 위치 고정 가능. 배터리는 전원 인가 시 자동 충전되며, 무전원 상태에서 최대 2주간 데이터 유지.

핀아웃

아두이노 메가

아두이노는 사용하기 쉬운 하드웨어/소프트웨어 기반 오픈소스 전자 플랫폼입니다. 센서 입력(빛, 버튼, 트위터 메시지 등)을 읽고 출력(모터, LED, 온라인 게시 등)으로 변환합니다. 아두이노 프로그래밍 언어(와이어링 기반)와 IDE(프로세싱 기반)로 보드를 제어합니다.

아두이노 메가 2560은 ATmega2560 기반 마이크로컨트롤러 보드입니다.

핀 설명

아두이노 IDE 설정

  1. TinyGPS 라이브러리 다운로드
  2. 압축 해제 후 Documents\Arduino\libraries 폴더에 이동(폴더명에 하이픈 없도록 주의)
  3. 아두이노 IDE에서 코드 복사
  4. Tools → Board → Arduino Mega 2560 선택
  5. Tools → Port 선택
  6. 업로드 클릭

연결 방법

아두이노 메가 → NEO-6M GPS

Serial2(핀 16/17) 또는 Serial3(핀 14/15)도 사용 가능합니다.

결과

시리얼 모니터에 위도/경도가 6자리 소수점까지 출력됩니다.

코드

Arduinomega_GPS (아두이노)

// Serial1(핀 18, 19) 사용 예제
#include <TinyGPS.h>

float lat, lon;
TinyGPS gps;

void setup() {
  Serial.begin(57600);
  Serial.println("The GPS Received Signal:");
  Serial1.begin(9600);
}

void loop() {
  while (Serial1.available()) {
    if (gps.encode(Serial1.read())) {
      gps.f_get_position(&lat, &lon);
      Serial.print("Position: ");
      Serial.print("Latitude: ");
      Serial.print(lat, 6);
      Serial.print(",");
      Serial.print("Longitude: ");
      Serial.println(lon, 6);
    }
  }
}

/*
// Serial2(핀 16, 17) 사용 시
#include <TinyGPS.h>
float lat, lon;
TinyGPS gps;
void setup() {
  Serial.begin(57600);
  Serial.println("The GPS Received Signal:");
  Serial2.begin(9600);
}
void loop() {
  while (Serial2.available()) {
    if (gps.encode(Serial2.read())) {
      gps.f_get_position(&lat, &lon);
      Serial.print("Position: ");
      Serial.print("Latitude: ");
      Serial.print(lat, 6);
      Serial.print(",");
      Serial.print("Longitude: ");
      Serial.println(lon, 6);
    }
  }
}
*/

/*
// Serial3(핀 14, 15) 사용 시
#include <TinyGPS.h>
float lat, lon;
TinyGPS gps;
void setup() {
  Serial.begin(57600);
  Serial.println("The GPS Received Signal:");
  Serial3.begin(9600);
}
void loop() {
  while (Serial3.available()) {
    if (gps.encode(Serial3.read())) {
      gps.f_get_position(&lat, &lon);
      Serial.print("Position: ");
      Serial.print("Latitude: ");
      Serial.print(lat, 6);
      Serial.print(",");
      Serial.print("Longitude: ");
      Serial.println(lon, 6);
    }
  }
}
*/

제조공정

  1. 아두이노 나노로 물방울 고속 촬영하기 – DIY 하이스피드 포토그래피
  2. 아두이노 메가와 센서를 활용한 인터랙티브 넥시온 HMI 프로젝트
  3. u-blox LEA-6H GPS 모듈: 아두이노 & 파이썬 연동 가이드
  4. DHT11 온습도 센서와 블링크(Blynk)로 원격 모니터링하기 - 아두이노 단계별 튜토리얼
  5. 아두이노로 음악 톤 만들기: 88키 피아노 음계 구현 가이드
  6. 아두이노를 NMEA-0183에 연결하기: 단계별 가이드
  7. 아두이노 GPS 실드와 TFT 터치스크린으로 실시간 위치 표시하기
  8. 아두이노로 Modbus 마스터하기: 단계별 완벽 가이드
  9. Visuino로 아두이노 나노에 GPS 데이터 마이크로SD 카드 기록하기
  10. 아두이노 우노와 NEO-6M 모듈로 GPS 목적지 알림기 만들기