I am wanting to run some LEDS using and arduino, and control them with a control box of 20 pushbuttons. But the control box needs to be 60 feet away or so. If I buy a 20 conductor cable it is going to cost way too much for this project. Is it possible to use a seperate arduino in the control box and have it communicate with the LED arduino through a serial cable?
If so is there any documentation out there already written to explain how to do this?
You might try to use I2C see http://www.arduino.cc/en/Tutorial/MasterReader and use a Cat5 cable.
or use ethershields and communicate over ethernet - than the distance could even exceed the 60 feet :) e.g. http://arduino.cc/en/Tutorial/UDPSendReceiveString
The arduino standard serial will communicate quite happily over a distance of 50 metres in a less than pristine electrical environment at 9600 baud. I use 4 cores from cat 5 both to communicate with and power the remote arduino. Don't expect to feed much more than the current load of a bare arduino and a small LED or two down cat 5 though.....
Cat3 four conductor telephone wire might be a less expensice option for wire between two arduinos.
Could also go wireless between them with <$10 in RF RX/Tx module & virtual wire.
Here’s my remote with 16 buttons - could adapt with a 20 button keypad easily.
3.3 V Promini @ 8MHz, 3.7V Li battery wired to Vcc (not RAW - bypasses the regulator).
Wake up on button press, sends the button push out, goes back to powerdown sleep mode.
Works to at least 30 ft with 3.7V battery (length of my house, farthest I’ve tried it), using 2 in series with the 7.4V going to the transmitter should increase range per the MO-SAWR, WRL-08946 TX datasheet.
Receive side is a MO-RX3400, WRL-08950 RX.
Both from sparkfun.
http://www.surplussales.com/Switches/SWPushB-3.html << scroll down the page quite a bit for 20 button keypad for $1. Buy a couple and drop one in the mail to me.
I am doing this sort of thing with my ROV. The controller Arduino sends commands to the ROV Arduino, which sends back telemetry, via RS485 using a couple of MAX485 chips. RS485 is good for 100s or metres on plain twisted pair.
I invented a simple half duplex protocol and can post the code if anyone wants it.
Wiring a MAX485 to the Arduino is super-simple.
I'd be interested in seeing your protocol and code.
I've posted it here. Have a look.
The MAX485 has control pins for the bus driver and receiver. I have these both wired to pin 3. TX/RX are to the UART pins 0/1.
I found having a bus pirate useful while debugging, particularly since I had a bad MAX485 chip at one point.