Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 2 of 2

Thread: only 1 strip of 8 work

  1. #1
    Junior Member
    Join Date
    Aug 2018
    Posts
    5

    only 1 strip of 8 work

    I've loaded the basic test program into teensy3.2. I have 8 strips of ws2812 of 16 pixels each.
    only strip 5 seems to be working.
    I've moved the cat5 wire pair to a different strip and it works fine.
    Also, replaced the octows2811 with another one with the same results.
    any ideas as to why only 1 of 8 strips work?
    TIA Mike
    --- code ----
    Code:
    #include <OctoWS2811.h>
    
    const int ledsPerStrip = 16;
    
    DMAMEM int displayMemory[ledsPerStrip*6];
    int drawingMemory[ledsPerStrip*6];
    
    const int config = WS2811_GRB | WS2811_800kHz;
    
    OctoWS2811 leds(ledsPerStrip, displayMemory, drawingMemory, config);
    
    const int LEDPIN = 13;
    byte bLoop = 0;
    
    void setup() 
    {
      Serial.begin(9600);
      //flash ledpin 3 times on setup
      pinMode(LEDPIN, OUTPUT);
      for(bLoop = 0; bLoop < 3; bLoop++)
      {
        digitalWrite(LEDPIN, HIGH);
        delay(1000);
        digitalWrite(LEDPIN, LOW);
        delay(1000); 
      }
      Serial.println("Starting leds");
      Serial.print("numpixels=");
      Serial.println(leds.numPixels());
      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
    
    // Less intense...
    /*
    #define RED    0x160000
    #define GREEN  0x001600
    #define BLUE   0x000016
    #define YELLOW 0x101400
    #define PINK   0x120009
    #define ORANGE 0x100400
    #define WHITE  0x101010
    */
    
    void loop() {
      int microsec = 2000000 / leds.numPixels();  // change them all in 2 seconds
    
      // uncomment for voltage controlled speed
      // millisec = analogRead(A9) / 40;
    
      colorWipe(RED, microsec);
      colorWipe(GREEN, microsec);
      colorWipe(BLUE, microsec);
      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);
      }
    }
    Last edited by KurtE; 08-12-2018 at 08:24 PM. Reason: Code Tags

  2. #2
    Junior Member
    Join Date
    Aug 2018
    Posts
    5
    Found the problem. Always check your rj45 wiring. mine was not correct the data and grounds were switched.
    All is working n

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •