基于ArduinoIDE的任意型号单片机 + GPS北斗BDS卫星定位

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

北斗卫星导航系统(BDS)作为我国自主研发的全球卫星导航系统,其定位精度在亚太地区已达2.5米级别

。结合GPS系统形成双模定位,可显著提升可用卫星数量及定位可靠性。本文将以Arduino uno和ESP32-S3-DevKitC-1为例,详解基于ArduinoIDE的北斗/GPS开发全流程,并提供OLED实时定位显示方案。# 一、硬件准备

1.1 器件选择

  • ESP32-S3-DevKitC-1或者Arduino uno
  • ATGM336H版本模块(任意GPS模块都行)
  • 陶瓷有源天线

注:实验要在空旷的场地,室内GPS会没信号。阳台不一定。

1.2 接线方案

方案一:

Arduino 北斗模块
3.3V VCC
GND GND
0(rx,不是A0) TX

方案二:

ESP32 北斗模块
3.3V VCC
GND GND
3 TX

注:实验要在空旷的场地,室内GPS会没信号。阳台不一定。

第一次测试,北斗模块需要一分钟时间激活后,串口才能接收到

二、驱动实现

2.1 核心代码解析(arduino/ESP32-S3)

测试代码如下(示例):

cpp 复制代码
/*
ESP32-S3 的默认 UART 配置如下:
UART0:
TX (发送): GPIO11
RX (接收): GPIO31
UART1:
TX (发送): GPIO171
RX (接收): GPIO16
*/
#define GPSSerial  Serial
#define DEBUGSerial Serial
void setup()	//初始化内容
{
  GPSSerial.begin(9600);			
  DEBUGSerial.begin(9600);  
  DEBUGSerial.println("Wating...");
}

void loop()		//主循环
{
  while (GPSSerial.available()) {   
     DEBUGSerial.write(GPSSerial.read());//收到GPS数据则通过Serial输出
  }
}

三、坐标解析代码

cpp 复制代码
在这里插入代码片

四、典型问题排查

现象 解决方案
无数据输出 ①检查TX-RX是否反接 ②测量模块供电电压 ③更换USB数据线
坐标值异常(0,0) ①确认天线方向 ②等待被动模块激活完成(约1分钟)
数据帧不完整 ①核对波特率设置 ②检查地线连接 ③避开强电磁干扰源

总结

本文是为验证《基于ArduinoIDE的任意型号单片机 + GPS北斗BDS卫星定位》

相关推荐
派勤电子2 小时前
嵌入式硬件选型|3.5寸工控板与Mini-ITX主板的扩展能力哪个更好?
嵌入式硬件·工控主板·嵌入式主板·工控主板扩展·3.5寸工控板·mini-itx·工业主板io接口
工业胶粘剂技术4 小时前
科耀K-8095M 单组分耐高温环氧 电机磁钢/新能源汽车高温结构粘接技术参数与选型
单片机·嵌入式硬件·汽车
李永奉9 小时前
中科蓝讯SDK开发-BT893x 面条耳机连接vivo手机后连接APP端,最后手机端设置页面手动断开蓝牙连接,此时耳机端假断开
c语言·开发语言·嵌入式硬件·物联网·智能手机·电脑
大爱编程♡9 小时前
STM32-DMA
stm32·单片机·嵌入式硬件
云泽80810 小时前
STM32 USART 详解(三):硬件架构、内部寄存器与物理层收发原理
stm32·嵌入式硬件·硬件架构
天空'之城10 小时前
单片机基础核心知识点汇总(三十三)
数据库·单片机·嵌入式硬件
数字新视界12 小时前
机房动环监控的智能化管理与安全提升探索
嵌入式硬件·物联网·数据中心·数据中心基础设施管理·dcim管理系统
@嵌入式扫地僧13 小时前
TFLite Micro STM32/ESP32 开箱即用推理骨架 + INT8 量化脚本实战:零调试跑通端侧 AI 推理完整步骤
人工智能·嵌入式硬件·tinyml·端侧ai·tflite micro
自小吃多13 小时前
高云FPGA ModelSim中的仿真
笔记·嵌入式硬件·fpga开发
单片机仿真设计13 小时前
基于 STM32 的家庭环境监测与火灾报警灭火系统(Proteus 仿真)
stm32·单片机·嵌入式硬件·proteus·毕设