Page 1 of 3 123 LastLast
Results 1 to 10 of 29

Thread: Has anyon used more than two Arduinos with vixen 3 using pixels?

  1. #1
    Join Date
    Dec 2013
    Posts
    11
    Post Thanks / Like

    Default Has anyon used more than two Arduinos with vixen 3 using pixels?

    I'm having the hardest time getting multiple Arduinos to run 50 pixel strands. Each one works on it's own, and each one has it's own com port 6, 7, and 8. All are set up in Vixen as their respective 6, 7, and 8, with the settings all consistent, and all are receiving data from Vixen because I can see the receive led on each Arduino active. I know my hub works, because I can program each Arduino via the IDE, but they won't run the lights, and using a scope I don't see any data going out except on one. I'm really wanting to go with pixels this year, but only one limits me to about 300 pixels. I hope someone has been there and done that!

  2. #2
    Join Date
    Oct 2014
    Location
    Sauk City, WI USA
    Posts
    2,227
    Post Thanks / Like

    Default Re: Has anyon used more than two Arduinos with vixen 3 using pixels?

    Are you using serial input to the arduinos? Does it have start code? Did you set the start header in the controller?
    Post code you are using.
    Show config in Vixen.

  3. #3
    Join Date
    Jul 2019
    Location
    United Kingdom
    Posts
    97
    Post Thanks / Like

    Default Re: Has anyon used more than two Arduinos with vixen 3 using pixels?

    I use Arduinos with Ethernet shields - then you can add as many as you want. Each has its own IP address. Each arduino (nano in my case) drives 4 universes, so 4 WS2811 data streams for 170 pixels. My display has four nanos, three are for the pixels (so 12 x 170px), the fourth runs different code and outputs 4 universes of DMX (though I only use one currently). The controllers are added in Vixen as Streaming ACN (E1.31), you access then via the fixed IP addresses you define in the sketches.

    In GBP the cost of each controller is IRO 15
    Last edited by RichieNorthcott; 01-12-2022 at 06:03 AM.

  4. #4
    Join Date
    Jan 2021
    Posts
    108
    Post Thanks / Like

    Default Re: Has anyon used more than two Arduinos with vixen 3 using pixels?

    i use
    1 arduino mega 2560
    2 arduino uno
    2 arduino teensy 3.2 octo
    1 usb extender and i use a usb hub to split the data out side at a main outdoor box, and i dont have any problems .
    i did have your problem last year my issue was found in the pc settings
    i set the com ports for each one but i missed a one thing under the pc setting under Devices Had to go into settings advanced settings It's not my comports kept changing for some reason When I would plug in all the arduinos.
    Plug all of them in go to vixen and when you click on the Device see what comport it is using at that time.

    Sent from my SM-N975U using Tapatalk

  5. #5
    Join Date
    Dec 2014
    Location
    Southern California
    Posts
    1,360
    Post Thanks / Like

    Default Re: Has anyon used more than two Arduinos with vixen 3 using pixels?

    Quote Originally Posted by RichieNorthcott View Post
    I use Arduinos with Ethernet shields - then you can add as many as you want. Each has its own IP address. Each arduino (nano in my case) drives 4 universes, so 4 WS2811 data streams for 170 pixels. My display has four nanos, three are for the pixels (so 12 x 170px), the fourth runs different code and outputs 4 universes of DMX (though I only use one currently). The controllers are added in Vixen as Streaming ACN (E1.31), you access then via the fixed IP addresses you define in the sketches.

    In GBP the cost of each controller is IRO 15
    Have you documented this system anywhere?
    Kevin

  6. #6
    Join Date
    Jul 2019
    Location
    United Kingdom
    Posts
    97
    Post Thanks / Like

    Default Re: Has anyon used more than two Arduinos with vixen 3 using pixels?

    I had some info over on the green forum if i recall correctly.

    The sketch was taken from an extensive post over on the old 'green' forum by BarnabyBear. Essentially the script takes a stock UDP data processing script and generates the WS2811 pulses from the network packets. The data ends up on the arduino's serial TX pin, it's actually inverted with respect to what the pixels need. The universes are output sequentially 1->4, so an additional 4 pins are used on the arduino to activate the corresponding outputs.

    BarnabyBear used 4 x RS485 ICs to give differential output, so in his original design the 4 select pins are normally low. The sketch sets each high sequentially - by switching the A/B connections between the sender and the receiver that does the necessary inversion. The advantage is you can have a long cable run from the controller to each universe.

    On my version I use a quad NOT gate. The 4 select pins are normally high, to send data the corresponding pin is set low and this is NOT-ted (bad electro speak there) with the inverted WS2811 from the TX pin.

  7. #7
    Join Date
    Dec 2013
    Posts
    11
    Post Thanks / Like

    Default Re: Has anyon used more than two Arduinos with vixen 3 using pixels?

    Thank you for the timely responses. The code I'm using is shown here;
    ---------------------------------------------------------------------------------------------------------------------------
    /*

    Vixen Lights 3.x - Arduino Generic Serial for Addressable Pixels

    Using this code is pretty straight forward, simply hookup your one wire (WS2811 or WS2812) data line to pin 6 of your Arduino
    and upload this code. Make sure you have properly installed the FastLED library from http://fastled.io Once you are done, simply
    power your Pixel strips from an external power supply. Next configure a Generic Serial Controller inside of Vixen Lights 3.x and
    add 3 x pixels for the number of channels. Configure the Generic Serial Controller to use 115200, 8, none, and 1. Then create
    your element and add "Multiple Items (1 x number of pixels). Finally select your pixel elements and set them as RGB pixels before
    patching them to the controler outputs. You should now be ready to begin testing.

    For a complete tutorial check out blog.huntgang.com

    Created November 8th, 2014
    By Richard Sloan - www.themindfactory.com
    And David Hunt - blog.huntgang.com
    Version 1.4

    */


    // You must download and install the library from http://fastled.io/
    #include <FastLED.h>

    // Sets the maximum number of LEDs that this code will handle to avoid running out of memory
    #define NUM_LEDS 50

    // Sets the pin which is used to connect to the LED pixel strip
    #define DATA_PIN 6

    CRGB leds[NUM_LEDS];


    void setup() {
    // Define the speed of the serial port
    Serial.begin(115200);
    }

    void loop() {
    // Set some counter / temporary storage variables
    int cnt;
    unsigned int num_leds;
    unsigned int d1, d2, d3;

    // Begin an endless loop to receive and process serial data
    for(;;) {
    // Set a counter to 0. This couter keeps track of the pixel colors received.
    cnt = 0;
    //Begin waiting for the header to be received on the serial bus
    //1st character
    while(!Serial.available());
    if(Serial.read() != '>') {
    continue;
    }
    //second character
    while(!Serial.available());
    if(Serial.read() != '>') {
    continue;
    }
    //get the first digit from the serial bus for the number of pixels to be used
    while(!Serial.available());
    d1 = Serial.read();
    //get the second digit from the serial bus for the number of pixels to be used
    while(!Serial.available());
    d2 = Serial.read();
    //get the third digit from the serial bus for the number of pixels to be used
    while(!Serial.available());
    d3 = Serial.read();
    //get the end of the header
    while(!Serial.available());
    if(Serial.read() != '<') {
    continue;
    }
    while(!Serial.available());
    if(Serial.read() != '<') {
    continue;
    }
    // calculate the number of pixels based on the characters provided in the header digits
    num_leds = (d1-'0')*100+(d2-'0')*10+(d3-'0');
    // ensure the number of pixels does not exceed the number allowed
    if(num_leds > NUM_LEDS) {
    continue;
    }
    // Let the FastLED library know how many pixels we will be addressing
    FastLED.addLeds<WS2812B, DATA_PIN, GRB>(leds, num_leds);
    // Loop through each of the pixels and read the values for each color
    do {
    while(!Serial.available());
    leds[cnt].r = Serial.read();
    while(!Serial.available());
    leds[cnt].g = Serial.read();
    while(!Serial.available());
    leds[cnt++].b = Serial.read();
    }
    while(--num_leds);
    // Tell the FastLED Library it is time to update the strip of pixels
    FastLED.show();
    // WOO HOO... We are all done and are ready to start over again!
    }
    }

    ----------------------------------------------------------------------------------------------------------------

    Vixen setup screen:

    ----------------------------------------------------------------------------------------------------------------

    Screenshot 2022-01-12 134557.jpg

  8. #8
    Join Date
    Dec 2013
    Posts
    11
    Post Thanks / Like

    Default Re: Has anyon used more than two Arduinos with vixen 3 using pixels?

    I tried to post the code and screen shot of the Vixen setup screen, and it said someone would have to approve it, so I guess we have to wait.
    I will say that I'm using serial input to the Arduinos via the usb connection. I don't completely understand what you mean about "start code". I do have a header defined in the sketch and in the Vixen setup that match. Hopefully you will be able to see my earlier post when it's approved. Thank you!

  9. #9
    Join Date
    Oct 2014
    Location
    Sauk City, WI USA
    Posts
    2,227
    Post Thanks / Like

    Default Re: Has anyon used more than two Arduinos with vixen 3 using pixels?

    Is this the one that works? Because it looks good to me.

    I used the wrong term Start code = text header. Yours looks good.

    Did you close out of the arduino environment? Is there competition for the comm port? Vixen needs exclusive control.

  10. #10
    Join Date
    Dec 2013
    Posts
    11
    Post Thanks / Like

    Default Re: Has anyon used more than two Arduinos with vixen 3 using pixels?

    This is the code I'm using in all the Arduinos. They are all the same. Yes, I close the programming ide, and each controller is on it's own com port. The hard to understand part for me is that all the controllers show that they are receiving a signal, but only one is sending data our pin 6. Each controller will work individually, but not all together.

Page 1 of 3 123 LastLast

Bookmarks

Posting Permissions

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