亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

Arduino Mega 2560 接 NEO-6M GPS 模块完整教程

所需元件

元件单价(约)数量
Arduino Mega 2560$301
u-blox NEO-6M GPS 模块(含有源天线)$301

总成本约 $60。另需 Arduino IDE。

GPS 基础知识

什么是 GPS?

全球定位系统由至少 24 颗卫星组成,全天候、全球覆盖、免费使用。卫星每天绕地球两周,广播唯一信号与星历参数。接收机通过测量信号传播时间计算到各卫星距离,三角定位得出经纬度;4 颗以上卫星可解算海拔。典型追踪 8+ 颗卫星。

信号构成

NEO-6M 模块详解

核心特性

引脚定义

引脚功能
VCC供电 3.3–5V(建议接 Mega 3.3V 或 5V)
GND地
TxD模块发送 → Arduino RX
RxD模块接收 ← Arduino TX

Arduino Mega 2560 简介

接线方式

推荐使用硬件串口 Serial1(引脚 18/19),避免软串口不稳定:

Mega 引脚NEO-6M 引脚
3.3VVCC
GNDGND
TX1 (18)RxD
RX1 (19)TxD

也可用 Serial2 (16/17) 或 Serial3 (14/15)。

软件配置

  1. 安装 TinyGPS 库:解压至 Documents/Arduino/libraries(文件夹名无连字符)
  2. IDE 中选择 Tools → Board → Arduino Mega 2560
  3. 选择正确 COM 口
  4. 上传示例代码

示例代码

#include <TinyGPS.h>

float lat, lon;
TinyGPS gps;

void setup() {
  Serial.begin(57600);
  Serial.println("GPS Received Signal:");
  Serial1.begin(9600);  // 连接 NEO-6M
}

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

代码中已注释出 Serial2/Serial3 版本,只需取消注释对应段即可切换串口。

运行结果

串口监视器每秒输出经纬度(小数点后 6 位),如:

Position: Latitude: 22.123456, Longitude: 113.987654

首次冷启动可能需 30–60 秒搜星,随后 1 s 内更新。

常见问题

制造工艺

  1. Arduino Nano高速摄影控制器 – 定格水滴碰撞瞬间
  2. 基于 Arduino Mega 与 Nextion 显示屏的交互式气象站
  3. u-blox LEA-6H GPS 模块:Arduino 与 Python 集成指南
  4. Blynk + Arduino 读取 DHT11 温湿度数据教程
  5. Arduino 合成乐音:从零实现 88 键钢琴全音域
  6. Arduino 连接 NMEA-0183 设备全攻略:从硬件接线到协议解析
  7. Arduino GPS与TFT触摸屏扩展板:实时定位显示项目
  8. Arduino Modbus 从机开发全攻略:基于 RS485 扩展板的分步实现指南
  9. Visuino 可视化编程实战:Arduino Nano 记录 GPS 数据到 MicroSD 卡
  10. 使用 Arduino UNO 和 NEO-6M GPS 模块构建目的地到达提醒器
  11. SIM800L GPRS 模块与 Arduino 对接 AT 指令教程
  12. Arduino Due 望远镜自动导星系统 rDUINOScope:GPS、RTC、蓝牙、触控屏全集成