我想使用 Arduino 从两个传感器收集数据。当两个传感器所需的波特率相同时,这似乎很容易。但是,当需要两种不同的费率时,我很难做到这一点。
例如,假设我想同时使用气压计和GPS 传感器。我想我必须为其中一个传感器修改一些较低级别的东西(可能在库或支持功能中),但是我从哪里开始呢?
查看提供的材料,我可以看到您的硬件使用串行通信。气压计使用I²C端口,GPS 使用串行端口。
所有设备的“通信速度”(或波特率)不必完全相同。事实上,您的传感器可能有不同的采样率或不同的需求,因此不需要以相同的频率与中央单元通信。
我建议一步一步来。首先尝试使用 GPS 传感器。我认为串行端口更容易开始。首先尝试(a)通过您的计算机直接与 GPS 通信(您可以使用您的 Arduino 设置 USB 串行连接),然后(b)尝试编写一些与 GPS 以相同方式通信的代码,但现在来自 Arduino。
执行此操作的简单方法。你有两个串口
在软件中 Serial 是一个你直接通信的。在硬件串行中,您为特定引脚配置为 Tx 和 Rx 引脚。SO 气压计您可以使用 SoftwareSerial,而对于 GPS,您可以使用 Hardware Serial。
[1]: http://arduino.cc/en/Reference/SoftwareSerial
[2]: http://forum.arduino.cc/index.php?topic=49645.0