Pages: 1 [2]   Go Down
Author Topic: Having trouble with WS2801 - Only first LED lights.  (Read 2573 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 1
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I am having the exact same problem.
I got the LED's cheap through ebay from china and I am thinking they might be busted.
You manage to fix the problem?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

As far as I could tell, my strands were defective. I worked with the company I bought them from and I sent them back and got a refund.

Since I was trying to get this project done for Christmas, I haven't had a chance to buy new strands since it isn't a 'top priority' any longer. I'll be picking up a few strands again in the coming months. So, sorry but I'm no help.
Logged

NSW Australia
Offline Offline
Faraday Member
**
Karma: 80
Posts: 3243
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

As far as I could tell, my strands were defective. I worked with the company I bought them from and I sent them back and got a refund.

I believe I have some rather bad news for you.

Your posting has provoked me into setting up a chain of these "pixels" that I purchased a few months back, which having wrangled the libraries - an educational experience in itself encountering some less than helpful instructions on the Adafruit pages confusing upper and lower case - I now have joyfully chasing and surging up (and down) my bookcase.  Well, bully for me, but clearly pleasing.  (OK, they have started to worry me - now turning them off!)

The point is - the behaviour you describe, of the first pixel turning on when you apply power, and changing colour when you touch the wiring, is entirely normal and in fact demonstrates that the pixels are in perfect order.

I have to conclude then that in your case, the control input lines were simply not connected to the Arduino.  They are high impedance (CMOS) inputs and will readily pick up random interference, even radio signals in some cases.

How this could have happened is then the question.  If you connect the data outputs instead to the Arduino, then the input wires at the other end would be sensitive to this interference.  (The data output wire is buffered, so holding it down does not affect the input.)  You apparently did try swapping end for end.

I have checked various cases of the pin behaviour on the Arduino.  With the Arduino off (no power), all ports are necessarily pulled down to ground and cannot float.  While they do float in reset, and with an alternate sketch that does not define the pins to which you have connected the pixels, I am unable to generate any interference to "spook" the pixels when they are turned on under these circumstances.

I have to conclude therefore that the behaviour you describe indicates no code fault, normally functional pixels,  but that the connections of the pixel chain control inputs (possibly including the ground) were simply not made however that may have happened.

(And I trust just in case, that you did try swapping the green and yellow wires as a test.)
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 1
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I got my first arduino and 3 pcs WS2801 pixels last week.

I was following this guide however only the LED at the output side of the string glows white.
while running the colorswirl program posted on above link sometimes the led does flash between the colors but only if i start wiggling the cable at the LED side a bit.

I already changed the cables between the led strip and the arduino, and tried a other LED strip but it has the same issue.

When i connect the led strip to power only it also only glows 1 led.
Logged

NSW Australia
Offline Offline
Faraday Member
**
Karma: 80
Posts: 3243
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I got my first Arduino and 3 pcs WS2801 pixels last week.

Looks like a reasonably reputable site.

I was following this guide however only the LED at the output side of the string glows white.

The output side?  The end opposite the connection to the Arduino?

while running the colorswirl program posted on above link sometimes the led does flash between the colours but only if i start wiggling the cable at the LED side a bit.

What do you mean by "LED side"?  This clearly suggests a faulty connection, or wrong connection.

I already changed the cables between the led strip and the Arduino, and tried another LED strip but it has the same issue.

And of course you have ensured that the Arduino ports you have connected match those specified in the code, and just in case, tried exchanging clock and data?

When I connect the led strip to power only it also only glows 1 led.

At the "input" end.  Normal - in fact correct - behaviour for an unconnected input.

If you have tried two or three strips, I would be virtually certain that either the connections you are using or the code are wrong.  (Ground rule of this forum.  smiley-grin)
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 1
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I had the same problem, THE SOLUTION IS HERE:

You must send the entire RGB bytes Times LEDS at once, no time spacing between LEDS.

This will procedure will set a 5 m WS2801 strip at a specific color. By using SPI it might be hard to
time when to send next byte so i wrote this:

Good Luck.

 Simon


void Send(BYTE R, BYTE G, BYTE B)
{
BYTE x;
BYTE y;
BYTE r1, g1, b1;


CLK = 0;
// LEDS on stip
for(y=0; y<32*5; y++)
{
//restore color
r1 = R;
g1 = G;
b1 = B;

// first RED
for (x=0; x<8; x++)
{
DAT = 0;
if (r1 & 128) DAT = 1;
r1 = r1 << 1;
CLK = 1;
Delay1TCY();
CLK = 0;
Delay1TCY();
}

// GREEN
for (x=0; x<8; x++)
{
DAT = 0;
if (g1 & 128) DAT = 1;
g1 = g1 << 1;
CLK = 1;
Delay1TCY();
CLK = 0;
Delay1TCY();
}

//Blue
for (x=0; x<8; x++)
{
DAT = 0;
if (b1 & 128) DAT = 1;
b1 = b1 << 1;
CLK = 1;
Delay1TCY();
CLK = 0;
Delay1TCY();
}
}

}
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 1
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

You need to check out the volts of led bulbs. If it is not proper fix, The complete device will shows error. Led bulbs are good at working and available at affordable prices.
parabolic light reflector
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 1
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Yeah, I too have the same problem then I replace some led lights and check out the voltage system then it was now fine.



point light source
Logged

NSW Australia
Offline Offline
Faraday Member
**
Karma: 80
Posts: 3243
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Those latter replies are confusing the issue on this topic.

As previously explained, if only the LED at the opposite end to that connected to the Arduino lights, erratically, and flickers when you handle the wiring to that end, it is because that is the actual "input" end of the chain and you have connected your Arduino to the wrong end.

This happens because the WS devices are CMOS with a very high input impedance and respond to static and induced current from your hands.
Logged

Pages: 1 [2]   Go Up
Jump to: