WS2801 Large Matrix 500LEDS Controlled by Arduino UNO With 74CH595

Hello everybody,

I have an idea for a ceiling that will consist of 500 RGB LEDS (WS2801) over 3.5m x 2.5m roughly a grid of 20x25.
I will be using this type of WS2801 led strip :
http://www.ebay.com/itm/100PCS-WS2801-RGB-Full-Color-12mm-Pixels-digital-Addressable-LED-String-DC-5V-/111146834979?pt=US_Car_Lighting&hash=item19e0de1c23
To spread them around evenly.

I tried to find a good answer on how many of those leds I can daisy chain together without any flicker and couldn’t find a decent answer but from what I can understand chaining hundreds of leds will cause delays and slow refresh time.

There is a total of 8 strips with 70 leds on each strip.

Here is my idea :
Use the arduino SPI at 8mhz to write RGB data to a 74CH595 chip each time 1bit per strip. This might sound confusing so please check the schematic attached. The outputs of the 74CH595 are attached to the data inputs of the led strips so each of the Q0-Q7 represents a separate data line.

All the grounds are connected together.

Steps :
Every cycle (8Mhz SPI Clock) I write a single bit of RGB data to the 74CH595 chip.
Every 8 cycles (all data has been transferred) I latch the chip and clock all the strips once (1Mhz). This feeds different data into each strip simultaneously.

To reduce the frequency of the clock I can use 4 D type Flip-Flop IC, 4 in a row will give me 1/8 of the original clock speed.

My second question is will I be able to stream data from USB/Wifi and send it out this way.

I am very new to this and I don’t have any education in this field, I hope I was clear enough.

Regards,
Alex