Arduino & DMX

Fella, & ladies,

I am a relative noob to arduino, but am picking up quickly. Can make it drive servos, stuff like that.

project is a wall controller for a DMX lighting system. I have some DMX pack that dim the lights at church, all working fine with
a standard DMX Controller. What i want is to build a wall controller to mount into a regular electrical light switch box, mounted by the door.
The cleaning crew can't get the hang of using the console to turn on the lights, so a Arduino based controller mounted to the back of a wall
plate, with an ALL ON button and an ALL OFF button would be sweet. I can build this using the tinket.it DMXSimple library. Problem is
i really dont want to connect and disconnect the regular console every service.

Is there a way that a arduino can detect an incoming DMX signal, then repeat it down the line, and if no DMX signal detected, than send it's own internal DMX signal down the line? This would allow me to turn off the console after service, and the wall controller would automaticly take over?

Can the arduino handle this? Is it fast enough?

Help?

Thanks
JR

Anybody????

Problem is i really dont want to connect and disconnect the regular console every service.

Why would you need to? As far as I can tell, DMX works over RS-485. That should allow both masters to coexist.

Is there a way that a arduino can detect an incoming DMX signal, then repeat it down the line, and if no DMX signal detected, than send it's own internal DMX signal down the line? This would allow me to turn off the console after service, and the wall controller would automaticly take over?

Your plan is to put an Arduino between the "console" and the lights?

"Why would you need to? As far as I can tell, DMX works over RS-485. That should allow both masters to coexist."

If so, how would the DMX device receiving the dual signals know which one to listen to? I am familiar with DMX to a Point, but unsure how this would work.

"Your plan is to put an Arduino between the "console" and the lights?"

Yes, the arduino would be a "master" or controller until it detected an incoming DMX stream, then it would become a "repeater"

that is unless someone has a better idea than this, i'm all eyes/ears!
thanks
JR

If the existing console "lets go" of the RS485 bus when it's not sending, more than one 'sender' can coexist on the same bus.

Get your Arduino working (making sure you disable the transmit section of your RS485 chip when it's not sending). Then also connect the console and see if it still works. Should not damage anything.. RS485 is pretty forgiving.

Let us know what happens!

gonna have to do some work first! My arduino has decided it doesn't want to talk to my IDE! here goes the troubleshooting
thanks

Ok! So I got my arduino working and loaded up with the DMX.Simple sketch. works fine standalone! Anybody have any idea how to tell it to check to see if there is another DMX/RS485 master comunicating, and if so shut up until the other master quits?

JR

Bump!

Anybody?

Anybody have any idea how to tell it to check to see if there is another DMX/RS485 master comunicating, and if so shut up until the other master quits?

Why would this be a problem? The description you provided in the first post is that there are two distinct groups: light-board operator and cleaning crew. Why would the cleaning crew be mucking with the lights at the same time as the light-board operator?

the wall controller would be "on" at all times, so the ushers, cleaning crew, or who ever could just press a switch and full lights. I also could build like four seperate presets into this. one all on for cleaning or meetings, #2 dimmer for say prayer, etc....

but when its time to take over for church service, and i turn my console, i would want the arduino based wall controlled to automaiclly disengae, shut up, take a nap, until such time i shut my console off, and then wake up and take back over. some of the top end dimmer racks have wall stations that will add this capability, but i don't have the money to buy that level of equipment, so here i am at the DIY level! i have found out that DMX is a single "master" system, so i couldn't have both going at same time. Any ideas??

JR

Hi JR,

You've run into a problem that is dealt with on high end boards in various ways... its tough to sync 'who' is sending out DMX. the best route i would suggest is to make an A/B switch at the dimmers. 2 DMX lines coming in, 1 line going to the dimmer. the main console would be input 'A" and your Arduino DMX console on input "B" - output would be to the dimmers. you would flip the switch when you shut the board off for the day/night...

hope this helps.

Jon

but isn't automatic! Which is what i am shooting for! Gotta be a way to do it!
wonder if soft serial is fast enough for DMX

okay - i could see controlling an Arduino from the main lighting console, but not the other way around.

what is the main console? (Brand manufacturer / options / network type/ how many universes does it run / does it have any GPIO's)

would you want someone coming in an pressing a button during your performance and changing the lighting look?

Jon

okay - i could see controlling an Arduino from the main lighting console, but not the other way around.

I can make the Arduino recieve DMx and turn things on and off, or fade lights or whatever. Can also make it send dmx, when triggered by a serial command, or button press. No problem there!

what is the main console? (Brand manufacturer / options / network type/ how many universes does it run / does it have any GPIO's)

The console is a standard NSI 7008 8 faders controlling 8 channelsx2 scenes. We also use a Laptop running Freestyle512 with an Enttec OpenDMX dongle. 1 single universe, no gpios

would you want someone coming in an pressing a button during your performance and changing the lighting look?
Jon

My concept if possible would be a wall controller based on a arduino mounted in a single gangbox, with like 4 buttons on the wall plate, which would allow me to have an "off" scene, and three other variations. like this

The DMX signal from my console or computer would pass through this controller, and if the arduino/wall controller detected a signal from my console/laptop, it would stop being a controller itself, and would be a repeater! while being a repeater, it would disable the wall plate buttons, so someone couldn't hijack or screw up my show. At the end of service, I would shut off my console or laptop, therefore stopping the signal being sent to the wall controller, which automaticly reenable the buttons and take back over!

I can't imagine this being impossible, it's just the programing side fries my brain sometimes!
JR

how about connecting your console and your arduino to the DMX line to the dimmers together.

When your console is on, put a channel high (say you have 12 dimmers, put 13 at full). The arduino listens to DMX and when channel 13 is full it disables the arduinos DMX output.

So you turn up, turn your console on, push up channel 13 and disable the arduino.
Then when you are done, turn down channel 13 and turn off your console. Arduino now starts pushing out dmx again?

OR, build a DMX controlled relay with one ardunio, use that (from your console) to power on or power off the wall-plate-light-switch arduino when you want.

how about connecting your console and your arduino to the DMX line to the dimmers together.

DMX is a single master system, would require a expensive merger device

When your console is on, put a channel high (say you have 12 dimmers, put 13 at full). The arduino listens to DMX and when channel 13 is full it disables the arduinos DMX output.So you turn up, turn your console on, push up channel 13 and disable the arduino.
Then when you are done, turn down channel 13 and turn off your console. Arduino now starts pushing out dmx again?

again single master. also half duplex so the wall arduino couldn't output DMX, and listen at the same time

OR, build a DMX controlled relay with one ardunio, use that (from your console) to power on or power off the wall-plate-light-switch arduino when you want.

I am thinking of the wall plate arduino being connected like this..

DMX Console =======rs485>rs232converter chip==>softserial port on wall plate ARDUINO--> real serial uart output on arduino >rs232>rs485 chip =======> dmx dimmers

so that the arduino could listen on a soft serial port, and when it starts recieveing data, then repeat that DMX data

Am i crazy?

yes, sounds too complex.

i'm suggesting switching your DMX source at the dimmers. this would require running a dmx cable from the wall plate and a dmx cable from the console. you could do this manually or with a relay that listens to dmx, with a second Arduino- if your dimmer / control rack is located someplace far away...

the down side to this, your wall plate controller would have all the dmx levels embedded in it...

(a bit of background this show uses an A/B switch to have a dumb way of switching from a main console to a backup console on the moving light system, which is outputting multiple universes of DMX. so using dumb tech to solve a problem isn't a bad thing.
Discover Shows, Tickets and Schedule | Cirque du Soleil)

jon