Skip to content

Example of how to use an Arduino with a DMX Shield to control multiple Gear4Music Galaxy-72 LED Lights.

License

Notifications You must be signed in to change notification settings

jackgraves/gear4music-galaxy72-arduino-dmx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gear4Music Galaxy-72 Arduino DMX Example

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.

image

Background

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.

Requirements

  • 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

Hardware Setup

Before we program the Arduino to control the lights, we first need to setup the equipment:

  1. On each Galaxy-72 device, set the following settings:
    • Address (First Device: 1, Second: 51, Third: 101 etc.)
    • Channels: 50 Channels
    • Mode: Slave 1
  2. If you have more than 1 Galaxy-72 device:
    • Daisy-chain the devices together (DMX OUT -> DMX IN)
  3. 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)
  4. Plug a DMX Cable from the Arduino to the DMX IN on the first Galaxy-72

Note on the DMX Shield

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)

Software Setup

At this point, you should have your Arduino with DMX Shield plugged into your computer and be ready to develop:

  1. Install the Arduino IDE if you haven't already
  2. Clone this repository or copy the contents of the project.ino file into your Arduino IDE, add dependencies (ArduinoRS485 and ArduinoDMX)
  3. Upload the project to your Arduino
  4. Move the NOT EN header to the EN position
  5. You should see the Galaxy-72 display flashing and the lights should operate
  6. Whenever you need to re-upload the code, make sure you put the EN pin back into the right slot

What does the example do?

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.

License

This repository is fully open-source, do what you want with it 😎!

About

Example of how to use an Arduino with a DMX Shield to control multiple Gear4Music Galaxy-72 LED Lights.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Languages