Just looking for a bit of guidance, as I'm still many many projects away from my overall goal! I would like to know if it is possible to have two arduino's talk to each other over the tx/rx or ethernet shield with a distance of 100m between them. One board would take input from a joy stick and other switches and send the commands over the cat 5 cable to the second board, which would control DC motors and the sort, the power would be housed with the second board. The arrangement would be a sort of tethered ROV.
Please keep in mind, if you do say yes, there will be a lot more posts from me! Hopefully that would be a good thing!
I would like to know if it is possible to have two arduino's talk to each other over the tx/rx or ethernet shield with a distance of 100m between them.
Yes, I think RS485 is a good answer. You will need 2 "pairs" of wire,(If you want full duplex bidirectional communications) but CAT5 would be fine. OK for 100K Baud at 1200M.
Is it necessary or highly desirable to power one Arduino over the cable??
Typical chip is a MAX485. There are some small 'bricks' with RS485 capability like these: http://?.ws/rs485 but they are half-duplex (1 direction at a time on one pair)..
WOW! That RS-485 is incredible! Just what I need, now I can plan to get my ROV even deeper!
Guys thanks for being so helpful, I will make sure it has your names on it! Still lots of work to do though!
I will read up on the RS485 and you can be sure I will be asking questions before you can say "arduino rocks"
Not easily. The Arduino doesn't make a very good USB host without extra hardware. Those boards would be better suited to communicating to an Arduino from a PC (with an RS-485 transceiver at the Arduino end).
I think you'd be better served with an RS485 transceiver at Arduino.
The problem with that chip (and every other RS-485 transceiver I see) is that it is half-duplex. You can send or you can receive. You can't do both at the same time. You can implement a protocol to manage the half-duplex line but it means more code than just Serial.available().
It would be great if someone would produce a full-duplex board that transmits on one pair and receives on another. That would require a crossover cable or configuration on the board so that one side receives on the pair that the other side is sending on. After that it's just like the two Arduinos are next to each other and connected TX to RX.
The problem with that chip (and every other RS-485 transceiver I see) is that it is half-duplex. You can send or you can receive. You can't do both at the same time. You can implement a protocol to manage the half-duplex line but it means more code than just Serial.available().
It would be great if someone would produce a full-duplex board that transmits on one pair and receives on another. That would require a crossover cable or configuration on the board so that one side receives on the pair that the other side is sending on. After that it's just like the two Arduinos are next to each other and connected TX to RX.