Conceptinetics/CQRobot DMX board

Hi folks,

Some years ago I developed some lighting devices (APA102A LED strips) and had a dozen or so routines running different chase and specialty effects on the LED strips. I was a DJ/VJ so I was using DMX lighting as well and was using a Conceptinetics DMX shield. The code worked really well but over the years I took the boxes holding the circuitry apart and have forgotten how to get the shield to work. I tried to get a new original Conceptinetics board but it looked like it would be quite a while until I could get one.
I found a Conceptinetics-like board from a company CQRobot which has a board that is an EXACT duplicate as the Conceptinetics board. All of the part numbers, labeling and layout of the shield are a match for the Conceptinetics board. When I mentioned Conceptinetics they said they didn't know anything about it and directed me to a Wiki which, surprise, surprise told me to download the Conceptinetics library. They are basically NO HELP! I am using this code:

#include <Conceptinetics.h>

//
#define DMX_SLAVE_CHANNELS   8 

#define RXEN_PIN                2

DMX_Slave dmx_slave ( DMX_SLAVE_CHANNELS, RXEN_PIN );

const int ledPin = 13;

// the setup routine runs once when you press reset:
void setup() {             
  
  // Enable DMX slave interface and start recording
  // DMX data
  dmx_slave.enable ();  
  
  // Set start address to 1, this is also the default setting
  // You can change this address at any time during the program
  dmx_slave.setStartAddress (1);
  
  // Set led pin as output pin
  pinMode ( ledPin, OUTPUT );
  pinMode ( RXEN_PIN, OUTPUT );
}

// the loop routine runs over and over again forever:
void loop() 
{
  //
  // EXAMPLE DESCRIPTION
  //
  // If the first channel comes above 50% the led will switch on
  // and below 50% the led will be turned off
  
  // NOTE:
  // getChannelValue is relative to the configured startaddress
  
 if ( dmx_slave.getChannelValue (1) > 127 )
  {
    dmx_slave.enable ();
      digitalWrite ( RXEN_PIN, LOW );
}
  else
  {
    dmx_slave.disable ();
      digitalWrite ( RXEN_PIN, HIGH );
}
  if ( dmx_slave.getChannelValue (2) > 127 )
  {
    digitalWrite ( ledPin, HIGH );
  }
  else
  {
    digitalWrite ( ledPin, LOW );
  } 
}

This is about as simple a program as I could find but it doesn't work! The LED at pin 13 never turns on. I am using an ENTTEC DMX USB Pro (new) which I know works because it controls my DMX lighting just fine, but not the Uno R3/CQRobot configuration. I moved the jumper for RX (first jumper) to the left to upload the program. But then I moved it back to the right which should put the board in receive mode from the DMX connection. Everything is new and I ran a simple blink test on the Uno R3 so the Uno appears to be functioning correctly.
Anyone have any ideas on why I'm having this issue? I remember that I had to play around with the jumpers but forgot how. I just made a decent investment into this equipment to drive a miniature camera dolly using stepper motors but haven't integrated the code until I know the DMX board is functioning correctly.

Thanks,

Joe B

Hello @joebataz,

Welcome.

Your topic was moved to its current location as it is more suitable.

Could you also take a few moments to Learn How To Use The Forum.

It will help you get the best out of the forum in the future.

Thank you

Thanks for the help with getting me in the right place. There are just so many places I just took a guess. I'll revisit the Let How To..."

joeb

We know! It's being reviewed.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.