Page 1 of 2 12 LastLast
Results 1 to 10 of 13

Thread: too many outputs

  1. #1
    Join Date
    Nov 2018
    Posts
    9
    Post Thanks / Like

    Default too many outputs

    Newbie to Vixen and trying to use serial "controller" to talk to an Arduino UNO.

    Works fine for 6 monochrome LEDs, but when I updated my experiment to 4 RGB (12 elements) and tried to add 6 more elements to the serial controller list, I get and error "too many outputs".

    Considering I'm planning 336 outputs, this is not a good sign. Any reason why it is telling me this?

    (On my current Arduino-driven display, I can control the 336 "elements" by using 7 I2C control boards)

  2. #2
    Join Date
    Dec 2012
    Location
    Hudson MA
    Posts
    3,578
    Post Thanks / Like

    Default Re: too many outputs

    You need to increase the number of outputs you defined in the controller setup. Be aware that refresh rate and Serial baud rate are important factors when determining how many channels a serial interface can support. You need to run the interface fast enough to get all of those channels to the controller within one refresh frame. 25ms is the real motion rate. If you are not doing real motion then many people use a 50ms frame rate. To me a 100ms frame rate is too choppy,


    2019 - Just moved into a new home (yet another change of plans). Will be dim but not dark. Too much to do at the new place to leave time for a show.
    https://www.youtube.com/channel/UCyX...ttrsZNARkUce0Q

  3. #3
    Join Date
    Nov 2016
    Posts
    18
    Post Thanks / Like

    Default Re: too many outputs

    Gentlemen I have tried ever ones commands for the Audrin0 and non of them seem to be working. does any one have a complete working program for audrino.

  4. #4
    Join Date
    Dec 2012
    Location
    Hudson MA
    Posts
    3,578
    Post Thanks / Like

    Default Re: too many outputs

    The place I told you to change a setting is on Vixen. You need to increase the number of outputs on the Vixen serial controller configuration.


    2019 - Just moved into a new home (yet another change of plans). Will be dim but not dark. Too much to do at the new place to leave time for a show.
    https://www.youtube.com/channel/UCyX...ttrsZNARkUce0Q

  5. #5
    Join Date
    Dec 2014
    Location
    Southern California
    Posts
    800
    Post Thanks / Like

    Default Re: too many outputs

    Quote Originally Posted by shaclayc View Post
    Gentlemen I have tried ever ones commands for the Audrin0 and non of them seem to be working. does any one have a complete working program for audrino.
    I suggest you try the sketch by Victor_PV found here http://doityourselfchristmas.com/for...th-Random-mode
    It requires that you set the outputs to your nunbers.
    Also, what part of L A do you live in? I am in North Orange county.
    Kevin

    2017 - Pi3 w/FPP controlling 8 ESPixelsticks driving 1250pixels and 3 Arduino MEGAS communicating with ESP-01s driving 96 channels
    2016 - 184 channels of Blinking/Flashing using 4 Arduino MEGAs and cheap home-made props.

  6. #6
    Join Date
    Nov 2016
    Posts
    18
    Post Thanks / Like

    Default Re: too many outputs

    Kev

    I live in the San Fernando valley


    Sent from my iPhone using Tapatalk

  7. #7
    Join Date
    Nov 2016
    Posts
    18
    Post Thanks / Like

    Default Re: too many outputs

    // Includes the watchdog timer library
    #include <avr/wdt.h>

    // This sets how many channels will vixen be sending. Can be set to any number from 1 to 48 for Arduino Mega, and 1 to 18 for Arduino Uno.
    #define CHANNEL_COUNT 8

    // speed for the com port for talking with vixen. From 9600 to 115200. Use the same speed as set in Vixen.
    #define VIXEN_COM_SPEED 9600

    // Timeout waiting for serial input before going to random mode (in milliseconds).
    #define TIME_OUT 1000

    // If the relays turn On and Off opposite to Vixen sequence, change "#define MODE NOT_INVERTED" for "#define MODE INVERTED"
    #define NOT_INVERTED 0
    #define INVERTED 1
    #define MODE NOT_INVERTED

    // which pins control which channels
    // You can change these assignment to use different pins, but be very careful to not repeat the same pin number for 2 channels.
    // DO NOT use pings 0 and 1, as those are for the serial port to talk to the computer.
    #define CH01 2
    #define CH02 3
    #define CH03 4
    #define CH04 5
    #define CH05 6
    #define CH06 7
    #define CH07 8
    #define CH08 9
    // Up to here for Arduino uno.

    int channels[] = {CH01,CH02,CH03,CH04,CH05 ,CH06,CH07,CH08};

    int incomingByte[CHANNEL_COUNT];

    int i = 0; // Loop counter
    volatile unsigned long timer_a = 0; // new line

    //setup the pins/ inputs & outputs
    void setup(){

    // enable the watchdog timer with a time of 1 second. If the board freezes, it will reset itself after 1 second.
    wdt_enable(WDTO_1S);

    // specifically for the UNO
    sei();

    // initalize PWM Channels / Pins
    for (i=0; i < CHANNEL_COUNT; i++){
    pinMode(channels[i], OUTPUT);
    }

    // set all the realys to off to start with
    if (MODE == NOT_INVERTED) {
    for (i=0; i < CHANNEL_COUNT; i++){
    digitalWrite(channels[i], LOW);

    }
    }

    else {
    for (i=0; i < CHANNEL_COUNT; i++){
    digitalWrite(channels[i], HIGH);
    }
    }

    // set up Serial according to the speed defined above.
    Serial.begin(VIXEN_COM_SPEED);
    }

    void loop()
    {
    if (Serial.available() >= (CHANNEL_COUNT+2)) {
    wdt_reset(); // resets the watchdog
    timer_a = millis (); // new line
    int uno = Serial.read();
    if (uno == 126){

    int dos = Serial.read();
    if (dos == 33){

    for (i=0; i < CHANNEL_COUNT; i++) {
    // read each byte
    incomingByte[i] = Serial.read();
    }
    if (MODE == NOT_INVERTED) {
    for (i=0; i < CHANNEL_COUNT; i++){
    int value = incomingByte[i];
    if (value <= 127) {
    digitalWrite(channels[i], LOW);
    }
    else {
    digitalWrite(channels[i], HIGH);
    }
    }
    }
    else {
    for (i=0; i < CHANNEL_COUNT; i++){
    int value = incomingByte[i];
    if (value < 127) {
    digitalWrite(channels[i], HIGH);
    }
    else {
    digitalWrite(channels[i], LOW);
    }
    }
    }

    }
    }
    }
    // Random mode code. Random mode starts if no serial input has been received in TIME_OUT millisenconds
    else {
    wdt_reset(); // resets the watchdog
    unsigned long diff = millis() - timer_a;
    if (diff >= TIME_OUT) {
    timer_a = millis ();
    int random_a = 0;
    for (i=0; i < CHANNEL_COUNT; i++){
    random_a = random(0, 2);
    if (random_a == 0) {
    digitalWrite(channels[i], LOW);
    }
    else {
    digitalWrite(channels[i], HIGH);
    }
    }
    }
    }
    }

    void testSequence(){

    if (MODE == NOT_INVERTED) {
    for (i=0; i < CHANNEL_COUNT; i++){
    wdt_reset(); // resets the watchdog
    digitalWrite(channels[i], HIGH);
    delay (500);
    digitalWrite(channels[i], LOW);
    }
    }

    else {
    for (i=0; i < CHANNEL_COUNT; i++){
    wdt_reset(); // resets the watchdog
    digitalWrite(channels[i], LOW);
    delay (500);
    digitalWrite(channels[i], HIGH);
    }
    }
    }

  8. #8
    Join Date
    Nov 2016
    Posts
    18
    Post Thanks / Like

    Default Re: too many outputs

    change my program now all it does is run through a test I guess.

  9. #9
    Join Date
    Nov 2016
    Posts
    18
    Post Thanks / Like

    Default Re: too many outputs

    does any one have any ideas?

  10. #10
    Join Date
    Dec 2012
    Location
    Hudson MA
    Posts
    3,578
    Post Thanks / Like

    Default Re: too many outputs

    did yoou set up the header for the frame? this code looks for specific values before it processes data


    2019 - Just moved into a new home (yet another change of plans). Will be dim but not dark. Too much to do at the new place to leave time for a show.
    https://www.youtube.com/channel/UCyX...ttrsZNARkUce0Q

Page 1 of 2 12 LastLast

Tags for this Thread

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
  •