DMX-Controlled Dowsers with Arduino

I am currently working on a high school production that is running projections. For these projectors, we need to have the ability to block out the lenses between scenes. To do so, I am programming an Arduino to take a signal from a lighting board on certain channels and control motors to block the lenses. I am having issues with getting the programming down (I'm not terribly experienced with projects of this difficulty), any help or pointers would be greatly appreciated! Thanks!

(Below I have included a schematic of what I'm running with the MAX-485 chip)
DMX Schematic.jpg
 
With that schematic, it sure looks like you're using the chip as a driver rather than a receiver. The douser would be a receiver, getting data from the console, and then connected to an input on the microcontroller. DE and RE should be tied to ground, and RO connected to your controller. Then it's mainly a matter of getting the right baud rate, detecting a break condition on the line (for the start of the DMX packet), and interpreting the packet--looking at the header byte (zero for dimmer data) and then counting off data bytes for the channels until you get to the one you care about and reading its value.
 
Where are you at in the process? Smart money is to split this project into two or more sub projects. I would start with project number one being to get the dowser to work in Arduino, Either on a button push or just cycle on a timer, that will confirm the process and code you have to move the motor works. The next step is to confirm the Arduino is reading the DMX. I would have it output to the serial monitor one channel of DMX. That will let you know it can hear the light board. Then it is a matter of a coding the motor program to run when the proper DMX value is read.
 

Users who are viewing this thread

Back