DMX Shield Issue

Hello,

I have bought this shield:

http://www.cqrobot.wiki/index.php/DMX_Shield_for_Arduino-CQR0260

I can see this reference: CTC-DRA-10-R2

I did not manage to make it work.

I want to control a lamp through DMX cable. In order to make the light, i need to set 100 value on channels 11 and 14.
I have tried this lamp with a computer and an USB to DMX converter. It works fine.

I am working with an Arduino Mega.

I have tried 3 librairies: DmxSimple and DmxMaster, (which are the same) and Conceptinetics.

Here is my first test with Conceptinetics:

I have put the switch like this:

EN/ (with a bar) during program update, then EN
DE
TX-UART
RX-UART

Here is the code:

#include <Conceptinetics.h>

DMX_Master        dmx_master (100,2);

void setup()
{
    dmx_master.enable ();
}

void loop()
{
    dmx_master.setChannelValue(11,100);
    dmx_master.setChannelValue(14,100);
    delay(100);
}

The lamp is not lightning

Now, i have made a second test with DmxMaster (i have made a third test with DmxSimple, it is exactly the same):

EN
DE
TX-I0
RX-I0
#include <DmxMaster.h>

void setup()
{
    DmxMaster.usePin(4);
    DmxMaster.maxChannel(32);
}

void loop()
{
    DmxMaster.write(11, 100);
    DmxMaster.write(14, 100);
    delay(100);
}

The lamp is not lightning too.

So i do not understand the problem.

I have tried in each test to set Arduino Mega 's pin 2 to LOW or HIGH but it does not change anything.

Thanks for your help

Hello,
not sure my answer will help but I have similar issue with the same board(s).

My code works fine and lights can be turned on or off…

The problem is about stability. After a couple of seconds the lights blink in an erratic way.
If I press on the shield very strongly it works fine again. but as soon as i release pressure, it does not work anymore.

I've sent a request to dfrobot.com who kindly sent me another shield for free, but the same issue occurs.
Looks like a weak connection somewhere or bad isolation somewhere (parasites ?)

Maybe a pullup or pull down resistor somewhere might solve the problem, but my skills on electronics are not good enough to determine where this should be set.

Here is my code, just FYI but it works fine so the problem is somewhere else… hardware issue IMO.

Sorry for my poor english and mistakes !

Roland,
From Paris, France :slight_smile:

#include <Conceptinetics.h>

int i = 0;
#define DMX_MASTER_CHANNELS 255
#define RXEN_PIN 4

//#define masterChanel 106
//#define redChanel 107
//#define greenChanel 108
//#define blueChanel 109
//#define whiteChanel 110

#define masterChanel 1
#define redChanel 2
#define greenChanel 3
#define blueChanel 4
#define whiteChanel 5

DMX_Master dmx_master (DMX_MASTER_CHANNELS , RXEN_PIN);

void setup() {

dmx_master.enable ();
dmx_master.setChannelValue (masterChanel, 100 ); // master = max
//dmx_master.setChannelRange (2,DMX_MASTER_CHANNELS,0);
}

void loop(){

if(i==0){

dmx_master.setChannelValue ( redChanel, 200 ); // RED 200
dmx_master.setChannelValue ( greenChanel, 0 );
i=1;

}
else {

dmx_master.setChannelValue ( redChanel, 0 );
dmx_master.setChannelValue ( greenChanel, 200); // GREEN 200
i=0;
}

delay(1000);

}