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

Thread: Teensey 3.6 + OctoWS2811 + 50+ WS2812b strips behind wall

  1. #26
    Senior Member crees's Avatar
    Join Date
    Dec 2016
    Location
    Utah
    Posts
    112
    Quote Originally Posted by RyanLED View Post
    Hey Creese.. I saw this post and am in midst of reading through it..
    https://forum.pjrc.com/threads/45760...light=ethernet

    I also see the Video above and am intrigued with how things work.. Are the boards able to accept the Teensey 3.6?

    thanks!
    They should but I have not tested this yet. I noticed you sent me a PM but my inbox was full. Can you send it again?

  2. #27
    So as I'm starting to hook things back up.. Im wondering about these three 1000 ĶF capacitor's I'm putting on as I saw on your (Ghost Toast) and per the AF mans. I'm just looking at it going.. there could be a short if someone ever touched this and bent the capacitor so my question is (before I figure a better way to prevent shorts..)

    do I need one hitting each of the three or is one enough seeing as it's all the same powersupply just across one + and -. You'd think these PSU's would have this already inside the PSU. But just wondering

    thanks!

  3. #28
    Small little success's are all that matter.


    https://ibb.co/bs36DdH



    Finally hooked up the Octo2811 completely with all 8 pairs.. I have

    5x144
    1x60
    2x14 (round)

    which is 808 Pixels.. just running the basic Glediator test.. Next will be to see how many pixels I can hook up to one pair and get decent response times. Once I figure that out then I'll decide either to go big (144 strips) or stay small (60)..

  4. #29
    Little bit of an update... I've been able to do

    Code:
    const int ledsPerStrip = 864;
    const int NUM_LEDS = 6912;
    inside the octo gled sketch and 144x48 inside the Glediator matrix options.. and opened.. the program says I'm getting about 10-20fps.. and when playing with the options it looks and responds quickly which is really all I'm looking for so I think this is going to work out lovely. now the next step is to see about buying the leds & PSU's to actually push forward. But before I do that.. I ordered me a wiz850io to look at how artnet will work. As I'd rather this all be done over network not USB for future use.

    I also need to find a power connector that will allow modular connections.. soldering is not something I want to do over 200x ;p

    But for now I'm happy with the progress.. It looks good on paper.. will it work with all leds hooked up is the question!

    all for now!

  5. #30
    wiz850io has arrived.. I've been able to wire it in.. Get a ping using the basic example on the

    Code:
    // Receive multiple universes via Artnet and control a strip of ws2811 leds via OctoWS2811
    //
    // This example may be copied under the terms of the MIT license, see the LICENSE file for details
    //  https://github.com/natcl/Artnet
    // 
    // http://forum.pjrc.com/threads/24688-Artnet-to-OctoWS2811?p=55589&viewfull=1#post55589
    
    #include <Artnet.h>
    #include <Ethernet.h>
    #include <EthernetUdp.h>
    #include <SPI.h>
    #include <OctoWS2811.h>
    
    // Ideas for improving performance with WIZ820io / WIZ850io Ethernet:
    // https://forum.pjrc.com/threads/45760-E1-31-sACN-Ethernet-DMX-Performance-help-6-Universe-Limit-improvements
    
    // OctoWS2811 settings
    const int ledsPerStrip = 492; // change for your setup
    const byte numStrips= 1; // change for your setup
    DMAMEM int displayMemory[ledsPerStrip*6];
    int drawingMemory[ledsPerStrip*6];
    const int config = WS2811_GRB | WS2811_800kHz;
    OctoWS2811 leds(ledsPerStrip, displayMemory, drawingMemory, config);
    
    // Artnet settings
    Artnet artnet;
    const int startUniverse = 0; // CHANGE FOR YOUR SETUP most software this is 1, some software send out artnet first universe as zero.
    const int numberOfChannels = ledsPerStrip * numStrips * 3; // Total number of channels you want to receive (1 led = 3 channels)
    byte channelBuffer[numberOfChannels]; // Combined universes into a single array
    
    // Check if we got all universes
    const int maxUniverses = numberOfChannels / 512 + ((numberOfChannels % 512) ? 1 : 0);
    bool universesReceived[maxUniverses];
    bool sendFrame = 1;
    
    // Change ip and mac address for your setup
    byte ip[] = {10, 0 , 0, 77};
    byte mac[] = {0x04, 0xE9, 0xE5, 0x00, 0x69, 0xEC};
    
    void setup()
    {
      Serial.begin(115200);
      artnet.begin(mac, ip);
      leds.begin();
      initTest();
    
      // this will be called for each packet received
      artnet.setArtDmxCallback(onDmxFrame);
    }
    
    void loop()
    {
      // we call the read function inside the loop
      artnet.read();
    }
    
    void onDmxFrame(uint16_t universe, uint16_t length, uint8_t sequence, uint8_t* data)
    {
      sendFrame = 1;
    
      // Store which universe has got in
      if (universe < maxUniverses)
        universesReceived[universe] = 1;
    
      for (int i = 0 ; i < maxUniverses ; i++)
      {
        if (universesReceived[i] == 0)
        {
          //Serial.println("Broke");
          sendFrame = 0;
          break;
        }
      }
    
      // read universe and put into the right part of the display buffer
      for (int i = 0 ; i < length ; i++)
      {
        int bufferIndex = i + ((universe - startUniverse) * length);
        if (bufferIndex < numberOfChannels) // to verify
          channelBuffer[bufferIndex] = byte(data[i]);
      }      
    
      // send to leds
      for (int i = 0; i < ledsPerStrip * numStrips; i++)
      {
        leds.setPixel(i, channelBuffer[(i) * 3], channelBuffer[(i * 3) + 1], channelBuffer[(i * 3) + 2]);
      }      
      
      if (sendFrame)
      {
        leds.show();
        // Reset universeReceived to 0
        memset(universesReceived, 0, maxUniverses);
      }
    }
    
    void initTest()
    {
      for (int i = 0 ; i < ledsPerStrip * numStrips ; i++)
        leds.setPixel(i, 127, 0, 0);
      leds.show();
      delay(500);
      for (int i = 0 ; i < ledsPerStrip * numStrips  ; i++)
        leds.setPixel(i, 0, 127, 0);
      leds.show();
      delay(500);
      for (int i = 0 ; i < ledsPerStrip * numStrips  ; i++)
        leds.setPixel(i, 0, 0, 127);
      leds.show();
      delay(500);
      for (int i = 0 ; i < ledsPerStrip * numStrips  ; i++)
        leds.setPixel(i, 0, 0, 0);
      leds.show();
    }
    Example dropdown from OCTO2811 but other than that I have no idea where I'm going next ;p I tried to play with glediator / jinx to see if I could easily add it but nope. This weekend will be some researching on how to do this.. If anyone has any handy links that help guide me in the right direction.. that'd be great.. otherwise I'll report back what I've come up with.

    All for now!

Posting Permissions

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