DMX controlled LED light
LED light with DMX512 control is required for theater. Numer of channels - 5 (common brightness,
R, G, B, Y), with simultaneous control of all or each individually.
Arduino Duemilanove with Atmega328 MCU and DMX receiver with 4-channel key is used. To keep
lower price of device, DMX address is stored in FLASH part of MCU memory and can't be changed
untol reprogramming. To change address, modify it in the sketch.
LED strips are used as light source.
DMX512 signal is received on RS-485 transceiver SN75176, connected in receiver circuit. Output of
transceiver is connected to Arduino RX pin.
Arduino receives data and set PWM levels on TIP122 transistor keys. Each key is switching appropriate
LED strip of 4 colors (red, green, blue, yellow). Internal 5V out of Arduino is used for RS-485 power supply.
Industrial 5A 12V switching power supply is used as device power source.
Assembled without errors, the device should working without any tuning.
Algorithm and Arduino sketch
Five DMX channels are used for control. First of them define common brightness coefficient, and each
color channels are multiplied by it. Four other channels set brightness level of each color.
For sketch compilation, DMXSerial
library should be put in Arduino IDE library folder.
Note:RX wire from transceiver should be disconnected from Arduino board during programming. Otherwise,
Arduino bootloader is unable to work due to receiver data on RX pin. Program the microcontroller via ISCP
port to eliminate jumper or switch between RX pin and transceiver.
Do not swap RS-485 A and B wires since it cause data to be incorrect.
The DMX address is hard-coded and can not be changed until reprogramming.