户外自动寻路,真正难的不是GPS,是罗盘。先说接线,NEO-6M接UART串口,TX接单片机RX、RX接TX,波特率9600,解析用TinyGPS++库,先拿到有效的经纬度再说。GPS在开阔地开机点名要三十秒到一分钟,别指望屋里能定位。罗盘才是坑王,HMC5883L装的位置离电机和电池至少十厘米,电机一上电那个磁场能把方向刷得满屏乱跳,这就是你走直线跑偏的元凶。校准很简单,让车水平转两整圈,记录X、Y轴最大最小值,取中值做偏移量写进代码,头朝北把方向值翻回来再对一下。上了坡或者车速快,最好再用陀螺仪的姿态角做倾角补偿。最后还要加上本地磁偏角,不然导航会整体偏好几度。定位看GPS,方向靠罗盘,两者合起来才走得直。