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

Thread: Channels on wrong PIN numbers

  1. #1
    Join Date
    Nov 2021
    Posts
    18
    Post Thanks / Like

    Default Channels on wrong PIN numbers

    Hello all I知 having a problem with my Adriano when I play a sequence I知 not getting an output on pin 1 and all other pins are 1 number of like channel 2 is on pin 4 3 is on 5 and so on
    Here is the code I知 using


    is code was written by Victor Perez for doityourselfchristmas.com based on the code from Zparticle, Si_champion and Neil Tapp.
    // To adapt the code to your case, just change this top section, with the #define lines.

    // 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 16

    // 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 57600

    // 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
    #define CH09 10
    #define CH10 11
    #define CH11 12
    #define CH12 13
    #define CH13 A0
    #define CH14 A1
    #define CH15 A2
    #define CH16 A3
    #define CH17 A4
    #define CH18 A5
    // Up to here for Arduino uno.
    #define CH19 A6
    #define CH20 A7
    #define CH21 A8
    #define CH22 A9
    #define CH23 A10
    #define CH24 A11
    #define CH25 A12
    #define CH26 A13
    #define CH27 A14
    #define CH28 A15
    #define CH29 22
    #define CH30 23
    #define CH31 24
    #define CH32 25
    #define CH33 26
    #define CH34 27
    #define CH35 28
    #define CH36 29
    #define CH37 30
    #define CH38 31
    #define CH39 32
    #define CH40 33
    #define CH41 34
    #define CH42 35
    #define CH43 36
    #define CH44 37
    #define CH45 38
    #define CH46 39
    #define CH47 40
    #define CH48 41

    int channels[] = {CH01,CH02,CH03,CH04,CH05 ,CH06,CH07,CH08,CH09,
    CH10,CH11,CH12,CH13,CH14,CH15,CH16,CH17,CH18,CH19, CH20,CH21,CH22,
    CH23,CH24,CH25,CH26,CH27,CH28,CH29,CH30,CH31,CH32, CH33,CH34,CH35,
    CH36,CH37,CH38,CH39,CH40,CH41,CH42,CH43,CH44,CH45, CH46,CH47,CH48};

    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);
    }
    }

    testSequence();

    // 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);
    }

  2. #2
    Join Date
    Dec 2011
    Posts
    7,439
    Post Thanks / Like

    Default Re: Channels on wrong PIN numbers

    // DO NOT use pins 0 and 1, as those are for the serial port to talk to the computer.

    Code:
    #define CH01 2  <-------- Does pin 2 contain data for Channel 1 ?
    Last edited by angus40; 11-23-2021 at 05:41 PM.

  3. #3
    Join Date
    Jan 2021
    Posts
    94
    Post Thanks / Like

    Default Re: Channels on wrong PIN numbers

    pin 2 is 1
    pin 3 is2
    and so on

    Sent from my SM-N975U using Tapatalk

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

    Default Re: Channels on wrong PIN numbers

    the area i Outlined is the number that are on the board.

    Sent from my SM-N975U using Tapatalk

  5. #5
    Join Date
    Nov 2021
    Posts
    18
    Post Thanks / Like

    Default Re: Channels on wrong PIN numbers

    Quote Originally Posted by mr fix View Post
    the area i Outlined is the number that are on the board.

    Sent from my SM-N975U using Tapatalk
    Yes that is the way I have everything connected but I知 not getting any output on pin 1 and when I go into my sequence 1 is output on 3 instead of pin 2 2 is output on pin 4 instead of 3 and so on . When I open vixen and check my patched connection the show to be connected right 1 is patched to pin 2.

  6. #6
    Join Date
    Dec 2011
    Posts
    7,439
    Post Thanks / Like

    Default Re: Channels on wrong PIN numbers

    Not sure where pin 1 factors here . It sounds like you are using Vixen . If memory serves .there is a 1 channel offset that needs to be accounted .

    Someone using Vixen could better explain .

  7. #7
    Join Date
    Jan 2021
    Posts
    94
    Post Thanks / Like

    Default Re: Channels on wrong PIN numbers

    To make sure your boad rates are set through your comports as the same as it is in vixen

    Sent from my SM-N975U using Tapatalk

  8. #8
    Join Date
    Jan 2021
    Posts
    94
    Post Thanks / Like

    Default Re: Channels on wrong PIN numbers

    another thing to look in to is your patchs
    i did that one time i selected the patch point but missed the number 1 so every one was off by 1 and also had a Similar one when I had the boad rates not the same

    Sent from my SM-N975U using Tapatalk

  9. #9
    Join Date
    Jan 2021
    Posts
    94
    Post Thanks / Like

    Default Re: Channels on wrong PIN numbers

    Upon further reading of your post I think I get what you're trying to say look at this new picture

    Sent from my SM-N975U using Tapatalk

  10. #10
    Join Date
    Nov 2021
    Posts
    18
    Post Thanks / Like

    Default Re: Channels on wrong PIN numbers

    yes the picture is right .but let me try and explain it a little better . im thinking i may hav a problem with the arduino mega . the mega it wired to 2 relay boards with 8 relays each ,i then start vixin and setup a generic number group with 16 items then i setup a generic serial controler and set com and baud rates with 48 outputs i then select all of my 16 outputs and patch them to my controler and save my settings then i go start a new sequence and i can turn on each relay 1 at a time what i have found is were pin 2 on arduino mega shoud activate 1 of my relays it does not . ihave also found pin 11 on arduino is not working ..... so i tryed to setup all 48 chennels and pin 2 pin 11 and nothing above a4 pin is working. im thinkin maybe a arduino problem but what makes me second guess this is when vixin is closed and the arduino goes into random mode all of the outputs work .thanks for any help you can give

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
  •