I have a project to control 50 hanging RGB LED lights. I will have them in 5 zones of 10 lights each and I want to control each zone with its own color.
This is my starting point. Eventually I want to be able to individually control the lights but thats another thread.
TomGeorge:
Hi
How have you got your LEDs wired in each zone.
If you ultimately want to control each individual LED then you will probably have to go to neopixels as recommended by LarryD.
Tom.....
Hi Tom!
I am pretty new to this...which I hate because as a manufacturing engineer for the aerospace industry, in here I feel pretty stupid.
So...I'm starting this from absolute scratch. I have an UNO. Thats it. I need to buy everything and will go with a different controller if/as required.
I want to control each light. I will have three ~12" strips that constitute a 'unit'. I will have 4 units per zone. And then have 4 zones. Each zone will be individually controlled ie: All of the lights in one zone will create the same color of light. I saw a project where the color of the lights were controlled with a color wheel app on a smart phone. Right now I'm going with that concept if possible.
Like I said I'm starting from scratch and my budget is no more than $1000 which I think is gross overkill but, oh well.
Can send data to the WS2801's like this, assuming an Uno, as a simple start:
#include <SPI.h>
byte ssPin = 10;
byte ledArray[] = {100,100,100, ... 100,100,); // fill with 50 values
byte ledArray1[] = {100,100,100, ... 100,100,); // fill with 50 values
byte ledArray2[] = {100,100,100, ... 100,100,); // fill with 50 values
byte x;
void setup(){
pinMode (ssPin, OUTPUT);
SPI.begin();
}
void loop(){
for (x=0; x<50; x=x+1){
SPI.transfer(ledArray[x]); // D13 to clock pin, D11 to Serial data in pin
}
delay (1000); // hold color for 1 second
for (x=0; x<50; x=x+1){
SPI.transfer(ledArray1[x]); // D13 to clock pin, D11 to Serial data in pin
}
delay (1000); // hold color for 1 second
for (x=0; x<50; x=x+1){
SPI.transfer(ledArray2[x]); // D13 to clock pin, D11 to Serial data in pin
}
delay (1000); // hold color for 1 second
}