如何连接两个没有屏蔽的Arduino?


14

我正在计划一个由几个Arduino板组成的Arduino系统。板之间的最大距离约为50米。我想在这些之间发送基本数据,例如短字符串或整数。我知道我可以通过以太网电缆发送数据,但是这需要以太网屏蔽或Arduino以太网板,从而使成本增加了一倍。我是否可以通过低预算的方式仅使用最基本的板(例如Uno)和其他一些组件但不使用全屏蔽来连接板?


如果预算不是问题,则可以使用蓝牙或xbee芯片。他们不是太糟糕,但会运行总成本约$ 60,你将需要2
Steven10172

@ Steven10172蓝牙设备很方便,但是OP似乎希望提供一种无需屏蔽的廉价解决方案(也许低调吗?)
Anonymous Penguin

3
如果您的传输媒介是电,请确保接地!!!
匿名企鹅

Answers:


9

对于长距离有线通信,请查看RS-485

由于它在双绞线上使用差分平衡线(例如RS-422),因此它可以跨越相对较大的距离(最大4,000英尺(1,200 m))。一条经验法则是,以位/秒为单位的速度乘以以米为单位的长度不应超过108。因此,一条50米的电缆的信号传输速度不应超过2 Mbit / s

您可以使用MAX485芯片。使用起来很容易,但是也有一个很好的库:

https://github.com/Protoneer/RS485-Arduino-Library


他难道不能只剥掉RS-485或类似电缆的电线,而只是用来串行化以节省金钱吗?9600波特的运行速度几乎不及2 MBPS。协议/电压/等方面有什么特别之处。使其适合长距离?这可能会节省一些钱...
匿名企鹅2014年

这是通过双绞线发送的差分信号。减少噪音。en.wikipedia.org/wiki/Differential_signaling
sachleen 2014年

此页面是使用Arduino的RS485上的绝佳资源,gammon.com.au
forum/?id=

7

我可以想到两种类别来对Arduino板的通讯功能进行分类:

在2台设备之间:

  • 串行:易于使用,仅需要2条数据线。
  • OneWire:较难使用且速度较慢,但​​仅使用一条数据线

在两个以上的设备之间

  • I2C:网络上最多可以有128个设备,可单独寻址,但需要一个主设备,使用2条数据线。这也称为Wire。
  • SPI:难以使用,但设备选择非常快速简便。使用大量数据线(3 +数量的设备)
  • OneWire:使用寻址的oneWire甚至比普通的oneWire慢,但仍然只有一条数据线
  • SoftwareSerial:您可以通过不同的串行线路连接多个设备,但是速度较慢。
  • CAN:仅在Due上可用,并且可寻址

还有其他方法可用,但是列出的方法仅需要最少的外部硬件。

有关距离等级,请参见http://forum.arduino.cc/index.php?topic=82937.0http://www.tldp.org/HOWTO/Remote-Serial-Console-HOWTO/serial-distance.html

这些数据速率在串行中直接控制,并且可以在许多其他方面进行调整。


5

Freakduino用内置的无线技术制作了一些Arduino板。它们的远程无线为900 MHz,较短的无线为2.4GHz。我认为它们实际上是XBee无线电,对于编程,您将使用一个名为chibiArduino的库,该库可在Freakduino网站上获得(并记录在案)。与其他无线电进行无线通讯时,可以使用广播或通过其ID指定无线电,该ID是您需要在Freakduino的EEPROM中设置的值。

直接从Freakduino网站上获取:

添加基于IEEE 802.15.4协议(与XBee相同的无线电协议)的集成无线电可以实现对设备的无线控制或无线传感器数据收集。添加了可选的电池电路,因此它可以充当真正的无线节点,而无需任何外部电源线。该电路板还设计为适合坚固的外壳,因此可以安全地运输设计或在实际使用情况下部署设计,而不必担心损坏电路。

这款900 MHz收音机是我个人的最爱。我一直使用它,因为900 MHz提供的范围比2.4 GHz好得多。无线电可以输出高达10 mW的发射功率,这可以得到令人惊讶的范围。有了直接的视线,几百米就不足为奇了。如果需要其他范围,也可以将调制模式从OQPSK更改为BPSK。这导致了额外的范围,但以数据速率为代价,在标准模式下,最大值从250 kbps增加到40 kbps。


0

就像您说的那样,以太网屏蔽很昂贵,但是您不必使用屏蔽。退房ENC28J60的有线网络,或ESP8266如果您希望无线。两者均约为$ 4USD。我现在正在使用ESP8266,大约有8台设备互相通信,并且有一个Raspberry Pi。这真是一个很棒的小筹码!我无法亲自对ENC28j60讲话,因为它们仍坐在我桌子上的包装中。


0

您可以使用以太网分线板(Sparkfun 2美元)。这使您可以使用以太网电缆,而不必使用完整的TCP / IP协议,而是可以将数据引脚连接到分支板上,使用以太网进行连接,然后使用串行进行通信。我用了很多时间将一个线传感器放置在距离Arduino更远的地方,以实现牢固而廉价的连接。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.