2 meters of WS2801 not lighting at all

Hi,

Just ordered a ribbon of WS2801 LEDs, 2 meters tall.
I connected both input and outpout 5V and GND to the power supply ( 5V 8A ) which is enouph to light 64 leds.

Any idea what could be wrong ?
The power supply is OK. The ribbon is new and supposed to be working as well.

Kind regards

Come on give us a clue, tell us what you did, post your schematic, code and a photo, and give us a link to the strip you bought.

For sure, incoming =)





Good enouph or do you need something more specific ?

And this is what i'm supposed to end with.
Actually, have the same without the teensy 2.0 connected to the ribbon.

That image pasting didn't work correctly for me. Can you select More:Modify and see if you can fix it? Looks like extra /url and /img tags at the end.
Maybe this will fix it:

Nope, just a 28x30 little box.
Try Reply and use the Attachments and other options to browse to your locally stored file and Attach it.

Can you post a schematic of what the wiring should be and also the code you are running. Read the how to use this forum sticky post to find out how to use code tags.

The first thing I notice is that you have no capacitors anywhere.

this is my schema.
I've done the same stuff like one year ago for the back of my triple screen and worked out.

If i do remember properly, without the teensy 2.0 leds were lighting anyway.

Where is the power connection for the Teensy 2.0 ?

Make sure your data and clock lines are connected to the input side.
How are you powering the controller.

.

If i do remember properly, without the teensy 2.0 leds were lighting anyway.

No nothing will work without code, which I am still waiting to see. The arrow on that schematic implies you have connected the clock and data out to the Output of the Arduino.

This is my code, well working on my other ribbon. The teensy is not connected yet.
I wanted to test the ribbon first. Will be connected to the input side indeed. Wasnt clever to link it to the output side on the schema without a quote.

#include "FastLED.h"

#define NUM_LEDS 31
#define DATA_PIN 2
#define CLOCK_PIN 1
#define RAINBOW_DELAY 0
#define GLOW_DELAY 1000
CRGB leds[NUM_LEDS];

void led_set_color_int( int LED_id, int Red, int Green, int Blue, int Red_i, int Green_i, int Blue_i)
{
    leds[LED_id].r = (int)(Red*Red_i*(255./100.)); 
    leds[LED_id].g = (int)(Green*Green_i*(255./100.)); 
    leds[LED_id].b = (int)(Blue*Blue_i*(255./100.));
    FastLED.show();
}


void set_strip_color(int Red, int Green, int Blue, int Red_i, int Green_i, int Blue_i)
{
  int i;
  
  for ( i=0 ; i<=NUM_LEDS ; i++)
    led_set_color_int( i, Red, Green, Blue, Red_i, Green_i, Blue_i );//led_set_color_int( i, 0, 0, 0, 0, 0, 0 );
  
  //for ( i=0 ; i<=NUM_LEDS ; i++)
  //{
  //  if ( i%1 == 0 )
  //    led_set_color_int( i, Red, Green, Blue, Red_i, Green_i, Blue_i );

  //  if ( i%2 == 0 )
  //    led_set_color_int( i, 1, 1, 1, 229/2.55, 204/2.55, 100);//led_set_color_int( i, 1, 1, 1, 100, 51/2.55, 204/2.55 );
  //}
}

void glow(int LED_id, int step)
{
  while(1){
  int i,j;
  for ( i=0 ; i<=100 ; i+=step)
  {
    for ( j=0 ; j<=NUM_LEDS ; j++){
      led_set_color_int( j, 1, 1, 1, i, i, i );
        //delay(1);
        }
  }
  for ( i=100 ; i>=0 ; i-=step)
  {
    for ( j=0 ; j<=NUM_LEDS ; j++){
      led_set_color_int( j, 1, 1, 1, i, i, i );
      //delay(1);
      }
  }}
}

void glow_strip(int step)
{
  while(1)
  {
    glow( 0, step);
    glow( 1, step);
    glow( 2, step);
    glow( 3, step);
    glow( 4, step);
    glow( 5, step);
    glow( 6, step);
    glow( 7, step);
    glow( 8, step);
    glow( 9, step);
    glow( 10, step);
    glow( 11, step);
    glow( 12, step);
    glow( 13, step);
    glow( 14, step);
    glow( 15, step);
    glow( 16, step);
    glow( 17, step);
    glow( 18, step);
    glow( 19, step);
    glow( 20, step);
    glow( 21, step);
    glow( 22, step);
    glow( 23, step);
    glow( 24, step);
    glow( 25, step);
    glow( 26, step);
    glow( 27, step);
    glow( 28, step);
    glow( 29, step);
    glow( 30, step);
    delay(GLOW_DELAY);
  }
}

void rainbow()
{
  int i;
  while(1)
  {
    for ( i=0 ; i<NUM_LEDS ; i+=7 )
    {
      led_set_color_int( i+0, 1, 0, 0, 100, 0   , 0  );
      delay(RAINBOW_DELAY);
      led_set_color_int( i+6, 0, 0, 0, 0, 0, 0);
  
      led_set_color_int( i+1, 1, 1, 0, 100, 50  , 0  );
      delay(RAINBOW_DELAY);
      led_set_color_int( i+0, 0, 0, 0, 0, 0, 0);
        
      led_set_color_int( i+2, 1, 1, 0, 100, 100 , 50 );
      delay(RAINBOW_DELAY);
      led_set_color_int( i+1, 0, 0, 0, 0, 0, 0);
      
      led_set_color_int( i+3, 0, 1, 0, 0  , 100 , 0  );
      delay(RAINBOW_DELAY);
      led_set_color_int( i+2, 0, 0, 0, 0, 0, 0);
      
      led_set_color_int( i+4, 0, 0, 1, 0  , 0   , 100);
      delay(RAINBOW_DELAY); 
      led_set_color_int( i+3, 0, 0, 0, 0, 0, 0);
    
      led_set_color_int( i+5, 1, 0, 1, 30 , 0   , 51);
      delay(RAINBOW_DELAY);
      led_set_color_int( i+4, 0, 0, 0, 0, 0, 0);
      
      led_set_color_int( i+6, 1, 0, 1, 54 , 0   , 100);
      delay(RAINBOW_DELAY); 
      led_set_color_int( i+5, 0, 0, 0, 0, 0, 0);

      led_set_color_int( i+6, 0, 0, 0, 0, 0, 0);
      
    }
  }
}

void setup() {
    delay(2000);
    FastLED.addLeds<WS2801, RGB>(leds, NUM_LEDS);
    //rainbow();
    //glow_strip(1);
     //while(1){glow(0,1);}
     //set_strip_color( 1, 1, 1, 38, 128, 217 );
     glow(10, 1);
     
    
}

I fully connected the teensy but not working as well -.-

I think the seller sold me a broken ribbon

21:35:25.726: Device came online, code_size = 32256
21:35:25.728: Board is: Teensy 2.0 (ATMEGA32U4)
21:35:25.730: File "sketch_jun11a.ino.hex". 5184 bytes, 16% used
21:35:25.732: set background IMG_ONLINE
21:35:25.735: File "sketch_jun11a.ino.hex". 5184 bytes, 16% used
21:35:25.737: elf size appears to be 32256
21:35:25.739: elf binary data matches hex file
21:35:25.740: Code size from .elf file = 32256
21:35:25.741: begin operation
21:35:25.750: flash, block=0, bs=128, auto=1
21:35:25.761: flash, block=1, bs=128, auto=1
21:35:25.772: flash, block=2, bs=128, auto=1
21:35:25.783: flash, block=3, bs=128, auto=1
21:35:25.793: flash, block=4, bs=128, auto=1
21:35:25.803: flash, block=5, bs=128, auto=1
21:35:25.814: flash, block=6, bs=128, auto=1
21:35:25.824: flash, block=7, bs=128, auto=1
21:35:25.835: flash, block=8, bs=128, auto=1
21:35:25.846: flash, block=9, bs=128, auto=1
21:35:25.856: flash, block=10, bs=128, auto=1
21:35:25.867: flash, block=11, bs=128, auto=1
21:35:25.877: flash, block=12, bs=128, auto=1
21:35:25.887: flash, block=13, bs=128, auto=1
21:35:25.898: flash, block=14, bs=128, auto=1
21:35:25.908: flash, block=15, bs=128, auto=1
21:35:25.918: flash, block=16, bs=128, auto=1
21:35:25.929: flash, block=17, bs=128, auto=1
21:35:25.939: flash, block=18, bs=128, auto=1
21:35:25.949: flash, block=19, bs=128, auto=1
21:35:25.960: flash, block=20, bs=128, auto=1
21:35:25.970: flash, block=21, bs=128, auto=1
21:35:25.981: flash, block=22, bs=128, auto=1
21:35:25.991: flash, block=23, bs=128, auto=1
21:35:26.001: flash, block=24, bs=128, auto=1
21:35:26.012: flash, block=25, bs=128, auto=1
21:35:26.022: flash, block=26, bs=128, auto=1
21:35:26.033: flash, block=27, bs=128, auto=1
21:35:26.043: flash, block=28, bs=128, auto=1
21:35:26.053: flash, block=29, bs=128, auto=1
21:35:26.064: flash, block=30, bs=128, auto=1
21:35:26.074: flash, block=31, bs=128, auto=1
21:35:26.085: flash, block=32, bs=128, auto=1
21:35:26.095: flash, block=33, bs=128, auto=1
21:35:26.106: flash, block=34, bs=128, auto=1
21:35:26.116: flash, block=35, bs=128, auto=1
21:35:26.126: flash, block=36, bs=128, auto=1
21:35:26.137: flash, block=37, bs=128, auto=1
21:35:26.147: flash, block=38, bs=128, auto=1
21:35:26.158: flash, block=39, bs=128, auto=1
21:35:26.168: flash, block=40, bs=128, auto=1
21:35:26.181: sending reboot
21:35:26.183: begin wait_until_offline
21:35:26.185: HID/win32: HidD_GetPreparsedData ok, device still online :slight_smile:
21:35:26.236: offline, waited 1
21:35:26.237: end operation, total time = 0.495 seconds
21:35:26.238: set background IMG_REBOOT_OK
21:35:26.240: redraw timer set, image 14 to show for 1200 ms
21:35:26.243: HID/win32: vid:1532 pid:0501 ver:0108
21:35:26.244: HID/win32: vid:1532 pid:0203 ver:0200
21:35:26.245: HID/win32: vid:1532 pid:0501 ver:0108
21:35:26.246: HID/win32: vid:1532 pid:0046 ver:0200
21:35:26.247: HID/win32: vid:1532 pid:0203 ver:0200
21:35:26.247: HID/win32: vid:1532 pid:0046 ver:0200
21:35:26.248: HID/win32: vid:1532 pid:0203 ver:0200
21:35:26.249: HID/win32: vid:1532 pid:0046 ver:0200
21:35:26.250: HID/win32: vid:1532 pid:0203 ver:0200
21:35:26.250: HID/win32: vid:1532 pid:0046 ver:0200
21:35:26.251: HID/win32: vid:1532 pid:0C00 ver:0200
21:35:26.252: HID/win32: vid:1532 pid:0C00 ver:0200
21:35:26.253: HID/win32: vid:1532 pid:0C00 ver:0200
21:35:26.256: HID/win32: vid:1532 pid:0C00 ver:0200
21:35:26.257: HID/win32: vid:1532 pid:0501 ver:0108
21:35:27.443: redraw, image 9

Code properly uploaded to teensy

What is this? It can't be output from that code because their is no print statements in it.

void led_set_color_int( int LED_id, int Red, int Green, int Blue, int Red_i, int Green_i, int Blue_i)
{
    leds[LED_id].r = (int)(Red*Red_i*(255./100.)); 
    leds[LED_id].g = (int)(Green*Green_i*(255./100.)); 
    leds[LED_id].b = (int)(Blue*Blue_i*(255./100.));
    FastLED.show();
}

what is this ?

The minimal and usefull code is

#include "FastLED.h"

#define NUM_LEDS 31
#define DATA_PIN 2
#define CLOCK_PIN 1
#define RAINBOW_DELAY 10
CRGB leds[NUM_LEDS];

void led_set_color_int( int LED_id, int Red, int Green, int Blue, int Red_i, int Green_i, int Blue_i)
{
    leds[LED_id].r = (int)(Red*Red_i*(255./100.)); 
    leds[LED_id].g = (int)(Green*Green_i*(255./100.)); 
    leds[LED_id].b = (int)(Blue*Blue_i*(255./100.));
    FastLED.show();
}

void glow(int step, int delay_time)
{
  while(1)
  {
    int i,j;
    for ( i=0 ; i<=100 ; i+=step)
    {
      for ( j=0 ; j<=NUM_LEDS ; j++)
      {
        led_set_color_int( j, 1, 1, 1, i, i, i );
        delay(delay_time);
      }
    }
    for ( i=100 ; i>=0 ; i-=step)
    {
      for ( j=0 ; j<=NUM_LEDS ; j++)
      {
        led_set_color_int( j, 1, 1, 1, i, i, i );
        delay(delay_time);
      }
    }
  }
}

void setup() 
{
    FastLED.addLeds<WS2801, RGB>(leds, NUM_LEDS);
    glow(1,0); 
}

This is what i got atm.

Leds are lighting up like for a micro sec ( red color and low intensity ).
Any idea please ?

Does someone has another working minimal code to test my ws2801 leds with teesny 2.0 please?

I really dont understand whats going on

Try making 'delay_time' longer?