OctoWS2811 Full Strand Flickering White?

Status
Not open for further replies.

aireq

New member
I'm trying to create a basic test of using a Teensy 3.6 to control some 12V WS2811 RGB LED Strips.

Here's the code I'm trying to run which should create a color wipe from red to green to blue.

Code:
#include <OctoWS2811.h>

//30LED/M * 5M
const int ledsPerStrip = 150;

DMAMEM int displayMemory[ledsPerStrip * 6];
int drawingMemory[ledsPerStrip * 6];

const int config = WS2811_BGR | WS2811_400kHz;

OctoWS2811 leds(ledsPerStrip, displayMemory, drawingMemory, config);

#define RED 0xFF0000
#define GREEN 0x00FF00
#define BLUE 0x0000FF

void setup() {
  leds.begin();
  leds.show();
}

void loop() {
  
  int microsec = 2000000 / leds.numPixels();  // change them all in 2 seconds

  colorWipe(RED, microsec);
  colorWipe(GREEN, microsec);
  colorWipe(BLUE, microsec);
}

void colorWipe(int color, int wait)
{
  for (int i = 0; i < leds.numPixels(); i++) {
    leds.setPixel(i, color);
    leds.show();
    delayMicroseconds(wait);
  }
}


I'm using these logic level converters to shift the 3.3V of the Teensy to the 5V required by the strip.

https://www.amazon.com/gp/product/B075PSB71D/ref=oh_aui_search_detailpage?ie=UTF8&psc=1

Then I'm using one of these buck converters to convert my 12V source to 5V for the high side of the level converter, and to power the teensy.

https://www.amazon.com/gp/product/B01GJ0SC2C/ref=oh_aui_search_detailpage?ie=UTF8&psc=1

My code should cause the strip to color wipe red, green, and then blue. However, when I turn everything on it looks like it color wipes all white, and then stays solid white and kind of flickers. Then if cut the power and turn it back on the whole strip goes right back to flickering white.

Here's a video of the behavior:

https://photos.app.goo.gl/dxh4DZJ4b1J3gPZ57

Any idea what's going on?
 
Some suggestions, some/all of which you may have already done:
With a meter check that 12V, 5V and 3.3V are actually right, and with a scope (or multimeter set to AC) see if your 12 and 5V have any ripple (should have no AC present)

Make sure you Teensy still works by loading blink to it - confirm the strips stay dark (if not you have something putting noise onto the strips)

Get the basic blink example, and point it at each of the strip outputs in turn and make sure the strips are seeing clean high and low logic. If you do not have a scope you may need to push the blink cycle times out to 3-5 seconds to give a multimeter time to settle.

If all the voltages are right point the neopixel library at a single strip output and a short strip length (~10) and see if you can drive a single strip - try the options including the RGBW if it is possible you have those.
 
Status
Not open for further replies.
Back
Top