我对 Arduino 比较陌生,我想:
- 将IMU的频率设置为100 Hz。
同步 GPS 和 MPU6050 以便同时获取数据:
1 set of IMU data and 1 set of GPS data -> 99 sets of IMU data. (//1 second) -> 1 set of IMU data and 1 set of GPS data-> 99 sets of IMU data (// 2 seconds)
我找不到任何我可以使用/理解的东西。
我对 Arduino 比较陌生,我想:
同步 GPS 和 MPU6050 以便同时获取数据:
1 set of IMU data and 1 set of GPS data ->
99 sets of IMU data. (//1 second) ->
1 set of IMU data and 1 set of GPS data->
99 sets of IMU data (// 2 seconds)
我找不到任何我可以使用/理解的东西。
Arduino 论坛中有几个针对同一类型项目的冗长主题。 这是一个很好的起点。然后在此处、此处、此处和此处查看 powergravity 的其他线程。他的程序的最后一个版本在这里。你有很多阅读要做。:)
很难将这些信息总结为“新 Arduino”用户可以“使用/理解”的内容,但我会尝试:
IMU 和 GPS 运行它们自己的时钟;你可以设置频率,但你不能设置它们发生的时间。它们的阶段或时间偏移可能不同。IMU 的运行速度可能比 100Hz 稍快或稍慢,因为它基于自己的振荡器,而不是 GPS 原子钟(在轨)。
每个 GPS 数据点平均有 100 个 IMU 样本(精确的 1000 毫秒)。但由于 IMU 和 GPS 不同步,您可能会为每个 GPS 数据点获得 99 或 101 个 IMU 读数。
你没有明确说明你对数据做了什么。不管是什么,它必须适应每个 GPS 周期不同数量的样本。我建议您的循环结构基于 GPS 时间。您甚至可以使用它来测量 Arduino 晶体的真实频率(以及micros()
时钟)。
在这些速率下,您需要明智地选择 GPS 串行端口。 这里有一些提示。
您还需要一个高效的 GPS 解析器。我的NeoGPS库比所有其他库更小、更快、更可靠和更准确。