- The Arduino DMX shield is an add-on (or 'shield') for the Arduino. It is an easy way to use the Arduino as a DMX-Master device, just by adding the DMX-shield on the top of the Arduino. This arduino DMX / RDM Shield is a low cost high quality solution that allows you to connect your Arduino driven artwork into DMX512 networks.
- And while there is a noticeable delay to sending the entire 'universe' of 256 DMX channels, it is also common for a fade to only get some of those values. So, if the fade should occur over 1 second, that channel would only get perhaps the values 42,84,168,210, 252, 255.
- To do this, do the following steps: 1. Click on Add Led Strip after entering the website. Click on the added NeoPixel Strip and specify the number of LEDs and Arduino pins. Click on the Add Effect in the loop part and choose an effect. Apply your preferences in the Animation and Color sections.
The STM32 processes these messages and sends out MIDI messages and commands for the Arduino slave. The Arduino slave processes the messages which can be something like (make all front DMX lights fade in and out between red and blue, make lights X and Y green, switch on stroboscope with speed 50, etc).
A stream of consciousness write up on building a DMX- audio trigger device.
So it’s been 5 years or so since I was last playing around with DMX receiving (to control WS2801 led strip, and RGB 12v strips), and the MP3 Trigger from robertsonics (as part of a game show buzzer sound effect player).
Simple enough project this time, when a dmx value is received, play an mp3.
Ideally DMX Address 512 to keep it away from any other lighting addressing, but this could cause problems if there’s any timing/variable storing issues.
DMX Values =
0-127 = stop playing
128-255 = start playing ?
And all it does it make a digital output pin go low/high. which triggers 1 track to play, nothing fancy at all.
Originally I thought 0 could be stop, and 1-255 could be volume levels, to allow for fade ins and outs, but if i’m using the serial port for DMX, I can’t use the same serial port to talk to the robertsonics mp3 trigger. This could be a reason to use a Teensy instead of an ATMega device. Then could also use serial to pick different tracks too.
Anyway, keeping it simple for now (mostly because I don’t have a MAX485 wired into a teensy, but I do have a ATMega 328P with a MAX485 prototype already made.
DMX Library, I had been using the Max Pierson DMX receive code, and so pulled out Arduino v 0018, which was my last known working compiler, but it threw errors straight away, so started looking for a newer option, compatible with the current v1.6.x Arduino IDE.
DMX Serial – http://www.mathertel.de/Arduino/DMXSerial.aspx seems to be a good option, code here: https://github.com/mathertel/DMXSerial/blob/master/examples/DmxSerialRecv/DmxSerialRecv.ino
So using Arduino 1.6.4 on my mac, with a 5v FTDI cable, was able to upload the DMX Receive example, (the switch/jumper on the pcb has to be up to switch the FTDI in program mode. Down to receive DMX via the Max485.
Schematics and board design for my prototype at https://github.com/dargs
Finding info on the mp3 trigger board I have, as I have the original design is hard.
Trigger pins are active Low, pulled high internally, so to trigger, external uC needs to make the pin low (to ground) to trigger. I think it’ll play the whole track, then look to see if any trigger pins are low, otherwise stop. This is going to make programming annoying, as you’d have to wait until the 30min track finishes before triggering again. Hmm.
SD card fat16 or fat32
001xxxxx.MP3
Waiting on a new WAV Trigger board to arrive, then the plan is to use teensy v3 to make a fancier system.
DMX Ch = Track #
Arduino Dmx Code
DMX Value = 0-5 = Stop
DMX Value = 6-10 = Pause
DMX Value = 11-15 = Resume
DMX Value = 16-20 = Start (from beginning)
Arduino Dmx Faded
DMX Value = 21-255 = Volume (0-100%)
Update- Part 2
I’ve realised I probably could use software serial between the atmega and wave trigger, keeping the hardware serial for the DMX connection.
Arduino Dmx Decoder
I’d also planned to design a opto and DC isolated interface, but came across the same author of the DMX Serial arduino library,Matthias Hertel, has designed a board already: http://www.mathertel.de/Arduino/DMXShield.aspx So will probably get some pcbs made and order some parts.
I now have a robertsonics wave trigger board, and reading this tutorial: http://robertsonics.com/2015/04/25/arduino-serial-control-tutorial/
Arduino Dmx Faded Glory
That worked almost first go, I had to download an older version of the code- Apr 26, 2015 commit – due to comms issues in Sept 2016 version
Serial protocol for wavTrigger:
test code. havent tested with dmx input .. yet!