This repository contains an example of how you can control the 'Galaxy-72' LED Strip that Gear4Music offer.
I bought mine (here).
The Galaxy-72 LED Strip contains 24 RGB LEDs, which can be addressed in sets of 3 ( 8 Addresses * 3 LEDs = 24 Total LEDs).
Using DMX, you can control these lights.
I recently bought a pair of LED Strips in order to learn how the DMX Standard works.
The idea behind DMX is that it provides a standard protocol (earlier attempts were all proprietary) for controlling lights and other stage equipment, such as:
- Lights and Strobes
- Lasers and Gobos
- Smoke/Fog Machines
It provides 512 Channels, which would have been a large number when the standard was produced, as there were a low number of channels per device, but modern devices like these LED Strips use a lot more - in this case 50 Channels are used by each light. Therefore, this solution only works for a small number of devices (up to 10), and then you have to involve other methods for scaling your setup - but in this case, for home use it's fine.
If you don't want to use an Arduino and money is no object, you should look at Lighting Desks, which provide a hardware solution to controlling your lights.
I am hoping to write a program for the Arduino that can listen to an audio input and make the lights respond accordingly (sound-to-light), in a symettrical way - this project an important first step to validate my logic.
- 1+ Galaxy-72 LED Strips (I'm using 2)
- 1+ DMX Cables (don't use standard XLR cables, as they don't work)
- Arduino (I'm using an Arduino Uno)
- DMX Shield
Before we program the Arduino to control the lights, we first need to setup the equipment:
- On each Galaxy-72 device, set the following settings:
- Address (First Device: 1, Second: 51, Third: 101 etc.)
- Channels: 50 Channels
- Mode: Slave 1
- If you have more than 1 Galaxy-72 device:
- Daisy-chain the devices together (DMX OUT -> DMX IN)
- Next, attach the DMX Shield to your Arduino
- Set the following headers on the DMX Shield: NOT EN, DE, TX-uart, RX-uart (all on the right)
- Plug a DMX Cable from the Arduino to the DMX IN on the first Galaxy-72
The Arduino DMX Shield has a 'quirk' that caused me some confusion initially - most libraries are available to interface with the board use the UART or SERIAL port to communicate with the DMX Shield.
This means that you cannot upload code to the Arduino when the DMX Shield is listening to these ports and have to change the headers:
- When you are uploading code to the Arduino, you must set the boards 'NOT EN' header (not enabled)
- When you have uploaded the code and want to output DMX, set the 'EN' header (enabled)
At this point, you should have your Arduino with DMX Shield plugged into your computer and be ready to develop:
- Install the Arduino IDE if you haven't already
- Clone this repository or copy the contents of the
project.ino
file into your Arduino IDE, add dependencies (ArduinoRS485 and ArduinoDMX) - Upload the project to your Arduino
- Move the
NOT EN
header to theEN
position - You should see the Galaxy-72 display flashing and the lights should operate
- Whenever you need to re-upload the code, make sure you put the
EN
pin back into the right slot
The example script controls 2 devices and makes them perform a mirrored sequence.
e.g.
Time | Left Device | Right Device
1 [x][ ][ ][ ][ ][ ][ ][ ] | [ ][ ][ ][ ][ ][ ][ ][x]
2 [ ][x][ ][ ][ ][ ][ ][ ] | [ ][ ][ ][ ][ ][ ][x][ ]
3 [ ][ ][x][ ][ ][ ][ ][ ] | [ ][ ][ ][ ][ ][x][ ][ ]
4 [ ][ ][ ][x][ ][ ][ ][ ] | [ ][ ][ ][ ][x][ ][ ][ ]
5 [ ][ ][ ][ ][x][ ][ ][ ] | [ ][ ][ ][x][ ][ ][ ][ ]
6 [ ][ ][ ][ ][ ][x][ ][ ] | [ ][ ][x][ ][ ][ ][ ][ ]
7 [ ][ ][ ][ ][ ][ ][x][ ] | [ ][x][ ][ ][ ][ ][ ][ ]
8 [ ][ ][ ][ ][ ][ ][ ][x] | [x][ ][ ][ ][ ][ ][ ][ ]
It is contained in a loop that will also reverse the pattern so that it looks smoother on the devices.
This repository is fully open-source, do what you want with it 😎!