teensy 3.2, OctoWs2811, Ws2812b strips doesn't twinkle

Status
Not open for further replies.

jeanB

New member
I have a teensy 3.2 with the OctoW2811 adapter. I'm using WS2812B LED strips. I have only wired 4 channels. I've cut strips of 30 and each channel has back and forth rows of 4, so each channel has 120 LED's.

I'm using the 'BasicTest' example from your page. It seems when I plug in my power supply what ever LED's come on at that time is all that will come on. I've added the slow blinky LED on the teensy board so I can see something twinkle.

I'm using Arduino 1.6.7 under linux Kubuntu. Under tools settings I have board set to teensy 3.1/3.2. USB type serial. CPU speed 96 MHz optimized over clocked. Programmer is set to AVRISP mkll. What should these settings be?




/* OctoWS2811 BasicTest.ino - Basic RGB LED Test
http://www.pjrc.com/teensy/td_libs_OctoWS2811.html
Copyright (c) 2013 Paul Stoffregen, PJRC.COM, LLC

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

Required Connections
--------------------
pin 2: LED Strip #1 OctoWS2811 drives 8 LED Strips.
pin 14: LED strip #2 All 8 are the same length.
pin 7: LED strip #3
pin 8: LED strip #4 A 100 ohm resistor should used
pin 6: LED strip #5 between each Teensy pin and the
pin 20: LED strip #6 wire to the LED strip, to minimize
pin 21: LED strip #7 high frequency ringining & noise.
pin 5: LED strip #8
pin 15 & 16 - Connect together, but do not use
pin 4 - Do not use
pin 3 - Do not use as PWM. Normal use is ok.

This test is useful for checking if your LED strips work, and which
color config (WS2811_RGB, WS2811_GRB, etc) they require.
*/

#include <OctoWS2811.h>

const int ledsPerStrip = 120;
const int led = LED_BUILTIN;

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

const int config = WS2811_GRB | WS2811_800kHz;

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

void setup() {
pinMode(led, OUTPUT);
leds.begin();
leds.show();
}

#define RED 0xFF0000
#define GREEN 0x00FF00
#define BLUE 0x0000FF
#define YELLOW 0xFFFF00
#define PINK 0xFF1088
#define ORANGE 0xE05800
#define WHITE 0xFFFFFF

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

digitalWrite(led, HIGH);
// uncomment for voltage controlled speed
// millisec = analogRead(A9) / 40;

colorWipe(RED, microsec);
colorWipe(GREEN, microsec);
colorWipe(BLUE, microsec);
digitalWrite(led, LOW);
colorWipe(YELLOW, microsec);
colorWipe(PINK, microsec);
colorWipe(ORANGE, microsec);
colorWipe(WHITE, microsec);

}

void colorWipe(int color, int wait)
{
for (int i=0; i < leds.numPixels(); i++) {
leds.setPixel(i, color);
leds.show();
delayMicroseconds(wait);
}
}
 
here are pictures. I've ohmed the data in line all the way through the end of the forth strip for all four channels. The number of LED's that light up is always different when I apply power. You can see the LED on the teensy board light, but the strips are not being programmed.
 

Attachments

  • teensyLED.jpg
    teensyLED.jpg
    19.8 KB · Views: 257
  • wiredUp.jpg
    wiredUp.jpg
    46.3 KB · Views: 259
  • closeUp.jpg
    closeUp.jpg
    19.3 KB · Views: 207
  • litUp.jpg
    litUp.jpg
    31.6 KB · Views: 266
  • ohmed.jpg
    ohmed.jpg
    28.8 KB · Views: 199
Most likely cause there is power supply for the Teensy and the LEDs not sharing a gnd.

https://www.pjrc.com/teensy/td_libs_OctoWS2811.html

Do you have the gnd wires for the Octo cable wired to your strips somewhere? It's hard to tell from your photo. If not then you need to do so otherwise the Teensy data levels will have no bearing on the levels being sensed by the LEDs.

Once that is sorted out check the resistance from the gnd pin on the Teensy to the Gnd pin on the strips, if that's coming out as as low as your meter goes try measureing the voltage with the power on. Gnd on the Teensy (or the Octo board) must be within 0.5V of the LEDs, and ideally 0. voltages > or < 0 indicate the wiring is carrying current and not handling the load well.

As a separate issue the rule of thumb is that strips need to have 5V and gnd connected every meter or so, so you will probably find that you need to connect your supply to both ends of every strip.
 
As a fault finding tool, if you have a spare couple of LEDs (<20) wire them to a RJ45 plug and temporarily solder the 5V and Gnd to the ones on the Octo board. This means it's powered as a self contained unit by the Teensy USB power and removes a lot of the variables that come in when you power lots of LEDs at once.

If your plan is to leave the Teensy powered by USB when in use be aware this means your PC and the LED power supplies end up sharing a gnd, so be careful your power supplies don't end up damaging your PC. Similarly if the eventual intention is to power the Teensy from the LED power supplies you will need to isolate the USB 5v when you do so, normally by cutting the track on the underside of the Teensy. Otherwise the LED 5V ad the USB 5V get connected to each other.
 
Does anyone know how to run WS2812b with Glediator or Jinx or and Graphical User Interface with Teensy 3.2. There are scripts to run it with Arduino but not any for Teensy 3.2 that I am aware of. If so could someone help me to run it with a board with 960 pixels. The Arduino script will not work for Arduino because there is a 512 pixel limit. That is why I purchased the Teensy because it has more memory and faster speed. But I can not find a way to run it using a GUI.
 
There are a number of working examples for using Glediator with Teensy with both the FastLED library and the octoWS2811 library which work fro ws2811 and ws2812. Have a look at this thread for the octows2811 lib which can be used with or without the adaptor: https://forum.pjrc.com/threads/33012-Gladiator-with-OctoWS2811-working-example

Also, there are working examples for using the pixelcontroller GUI if you prefer to use that. I believe that the pixelcontroller sketch is in the Teensyduino distribution, have a look under the menu of examples for octows2811.
 
Hi josh38,

I had trouble finding one that would run under linux, so I wrote one myself using tcl tk. I wasn't careful when I cut my strips of 30 ... some were 29, some were 31. When I laid them out they also did not go in order of the channels, so I had to account for that as well. Once I was able to rearrange the code in some of the example programs to run with my lay out I created the GUI for the kids to draw some pictures. They have so much fun playing with it! My project has 960 LEDs as well. I would be happy to share my code with you (although either you would have to adjust it for your lay out or tell me what yours it so I can). It isn't finished yet though and probably can't do all that some of these other GUIs can do. You can draw pictures with it then push a button to send the picture to a directory that you then compile under arduino and send it on to teensy ... sounds complicated but even my eight year old can do it. Have you been able to compile some of the example programs and run it on your teensy board?
 
I'm experiencing the exact issue that JeanB mentioned in the start of this thread #1 & #2. I have the following two items connected:

Teensy 3.2
OctoWs

I want the power into the Octo to also power the Tensy, therefore, I did not CUT the back of the Teensy board. I have tried to get my leds to function, however, as JeanB mentioned they will light on initial pluggin in of power, but not RUN. So if I unplug and plugin and repeat this as though trying to "hot wire a car" I can get various patterns of the LED on in that instant as thought stuck in time...

JeanB mentioned that the OCTO was switched out, is my OCTO bad? Is there a way to test the octo?

Here is my wiring and initial sign flash caught in time:

(system will not upload my 2 jpegs, exact setup as JeanB)
 
Status
Not open for further replies.
Back
Top