我想使用Arduino从两个传感器收集数据 . 当两个传感器所需的波特率相同时,这似乎很容易 . 但是,当我需要两种不同的费率时,我很难过这样做 .
例如,假设我想同时使用a barometer和a GPS sensor . 我想我必须为其中一个传感器(可能在库或支持函数中)修改低级别的东西,但是我从哪里开始?
我想使用Arduino从两个传感器收集数据 . 当两个传感器所需的波特率相同时,这似乎很容易 . 但是,当我需要两种不同的费率时,我很难过这样做 .
例如,假设我想同时使用a barometer和a GPS sensor . 我想我必须为其中一个传感器(可能在库或支持函数中)修改低级别的东西,但是我从哪里开始?
2 回答
看一下提供的材料,我可以看到您的硬件使用串行通信 . 气压计使用I²C端口,GPS使用串行端口 .
所有设备的“通信速度”(或波特率)不必完全相同 . 实际上,您的传感器可能具有不同的采样率或不同的需求,因此不需要以相同的频率与中央单元通信 .
我建议一步一步走 . 首先尝试使用GPS传感器 . 我认为串口更容易入手 . 首先尝试(a)通过计算机直接与GPS通信(您可以使用Arduino设置USB串行连接),稍后(b)尝试编写一些与GPS通信方式相同的代码但是现在来自Arduino .
这样做的简单方法 . 你有两个串口
SoftwareSerial
hardwareserial
在软件中,Serial是您直接进行通信的 . 在硬件序列中,您将特定引脚配置为Tx和Rx引脚 . SO气压计可以使用SoftwareSerial,对于GPS,您可以使用硬件序列 .