Hello,
I've programmed my Arduino to allow me to control an attached RGB LED strip. I'm able to send byte data to the strip from a windows application using the Serial, but that requires me to have the Arduino attached to the PC at all times.
Ultimately I'd like to control this using my WindowsPhone or tablet so I think a ethernet connection on the Arduino is perfect. The problem I see is that the Ethernet shield uses the SPI ports to communicate, but I need this for my RGB LED Strip.
Does anybody have suggestions how to overcome this problem
- another ethernet shield?
- another means of communication?
- can the shield be configured to use other pins?
All I need to do is send sets of RGB data to the LEDStrip from a computer without a dedicated USB cable.
You can use any pins to implement an SPI interface using shiftIn() and shiftOut(). It is a little slower than the hardware ones but for lighting up LEDs it is just fine.
can the shield be configured to use other pins?
The data and clock lines of SPI are designed to be shared, with separate select lines for each peripheral. So, the theoretical answer is "Yes". But there's a known problem with Wiznet modules not letting go of the MISO line when not selected. So you'd need to do an annoying kluge to make it work right. I think some people have done this: try doing a forum search for something like "wiznet miso".
If you decide to try this, check out the Adafruit Ethernet shield: it has extra pads for the shield connector pins, which will probably make it easier to do the kluge.
Allright,
Thanks guys, that gives me some faith that this can be accomplished. Right now I am using the hardware pins for my HL1606 as that appears to be the only way to get that LEDstrip to perform a little using a POV technique. That also means in this case that when I expand the LED count I am actually touching the limits of the hardware pins.
I'm also waiting for another LEDstrip that has a LPD6803 which shouldn't need POV to display 32 bit colors, which may mean I can use others pins for the LEDstrip like Mike suggested.
I'll bump up this thread as soon as I know more .. till then .. thanks!
Fex