Assignment: Make a controller for a DMX-based lighting plot.
For the assignment I tried using both node.js and Arduino, and found the Arduino (Arduino MRK1010 board and Arduino MKR485 shield) to be much easier in terms of programming.
To start off I connected the DMX cable to the shield.
I then set the channel on the DMX and tested the light using the ArduinoDMX library’s example and tested a few effects to see the light’s speed – I was surprised to see that it was very fast to turn on/off, much like a strobe effect.
Having worked a lot with audio and visuals on Max/MSP, I wanted to try using the program to control the light. The three main effects I wanted to explore where panning, rhythm and synchronisation/desynchronisation nature of audio and visual.
I started off by trying to send multiple data from Max to Arduino through serial communication (panning experiment).
Sending data from Max: convert all integers to ascii (using atoi object)
Receiving data from Arduino: convert characters to strings (using subString) to integers (using toInt) — StringSubstring and StringToInt examples on Arduino.
After I was able to run the serial communication smoothly I started building the sound files and the controls. These were the results.
Control interface:
Max patch:
Max/MSP patch and Arduino code: https://github.com/hellonun/dmx-control-maxmsp-arduino
I am very happy with both the control functions and the light quality. I hope to experiment with other sounds and visual effects in the future (as well as making the control more user-friendly)