Arduino Comm

I am working on a project that involves several micro-controller nodes in a barn. I want to be able to send data between the controllers at distances close to 100'. I'm thinking about trying something simple like serial or uart over rs485 levels (Using a converter chip on both ends) and sending it over CAT5 cable.

Has anybody accomplished this? Any suggestions on a different protocol?

(I tried DMX and failed pretty hard. I am still debugging that and considering trying a cheaper option.)

Thanks!

Here's a good RS485 site:

http://real2electronics.blogspot.com/2009/09/arduino-and-rs485-english-version.html

Here's RS485 shield for Arduino:

http://www.cutedigi.com/product_info.php?products_id=4500

Has anybody accomplished this?

Many have used RS485 (two wire half duplex) or RS422 (for 4 wire full duplex)

The main challenge is that if using two wire half duplex you will have to utilize a digital output pin to force these drivers to send mode or receive mode at the proper time, as the basic serial library and uart hardware does not provide that function. So if you can afford the 4 wire interconnection and two chips you can just 'hardwire' the transceiver chips for the receive loop and send loop and not have to do anything else.

Any suggestions on a different protocol?

The RS-485/422 chips are just electrical driver/receiver chips, they don't care about whatever software protocol is being used. In fact these chips can be used to just send simple digital input and output signals long distances, the chips don't care.

Lefty

I do plan on using a network. I would have a master that would be the only sender and a series of slaves. That will eliminate the need to use a full duplex line correct?

HighSeraphim: I do plan on using a network. I would have a master that would be the only sender and a series of slaves. That will eliminate the need to use a full duplex line correct?

Possibly, if the master is never required to receive anything from the slaves. However such a 'one way' comm channel would not be a very secure method, what if one of the slaves is not working, how would you know?

Lefty