Electronic – arduino – Computer to Arduino Interface Options

arduinointerfaceserialspiusb

I need to send 800 bytes of data from a computer to an arduino board every 20ms (approximately). I began with the serial library which works nicely but it is too slow even at its highest rate (115200 baud) for interfacing with a computer.

What other interfaces are available that can send at a faster rate? Can I use usb or spi? I can't seem to find libraries for these. I need something with about a 320 kBaud rate.

edit

Are there any shields that might be able to do this? Bluetooth or wifi?

Best Answer

How about only sending changed bytes each 20 ms? You'd need an additional 9 bits for addressing, but if you stuffed that bit in the empty bit in your 15-bit color data, you could do it with just one extra byte per LED. Depending on how fast your display is changing colors, that might work well. You could make a threshold, so if the color changes by less than X, you wait for the next round to send that data.

Or maybe try interlacing the data? Send even rows and odd rows in alternating sequence?

Or use 4 Arduinos in parallel?

Or control the LEDs through a shift register, and then send 15 bits to 15 Arduino pins via a parallel port (assuming you can find a PC with a parallel port)?