top of page

The Light Theremin

​

I've joined Makerspace Maakbaar a couple months ago. Last year, they've had quite a show on Lichtjesavond in Delft (a night of lights, fires and general 'gezelligheid' in prepration for the coming winter).

This year should be just as good. I've taken it unto myself to make an addition for Maakbaar's little 'exposition' and I'm planning to build a Light Theremin; a set of light fixtures which can be intuitively controlled with (non-contact) hand gestures.

​

As I already have a nice selection of DMX equipment, I'll be using this as a starting point. The main challenge will be the generation of the DMX signal and the interpretation of the gestures. An actual Theremin uses the change of capacitance in it's components as the input for it's change in tunes. I'll be using camera to achieve the (hopefully) same effect.

​

Below is the layout of the components.

Final Update!

​

It's done! Lichtjesavond has passed!
 

Lichtjesavond was at least as busy  as every other year and together with the other organisations we created a Sint Agathaplein full of interesting projects, art, music and kids activities.

After a lot of re-calibrating the theremin it worked fairly well (apparently; my living room is quite different than a dark & crowded outside location (: ). Although the system worked as I expected, wasn't always that clear for the guests. A lesson learned for next year.

 

There were many interested visitors and I had a lot of great conversations with all kinds of people; ranging from the tech-savvy to the tech-rookie. I was able to convince some people to come by at Maakbaar to see what we're about. It would be great if we could get some more people to join.

THE SETUP:

HARDWARE:

LIGHT FIXTURES

ARDUINO

LAPTOP

WEBCAM

PROGAMMING:

ARDUINO C/C++ [code]

PYTHON [code]

SIGNAL:

DMX

SERIAL

Update 4

​

We're in the last stages. Right now it's time to plan and build a place to put the webcam and a sign to draw some attention to the installation.

​

​

Update 3

​

We've built most of the frame and mounted the LED strips. I've got the program working and sending all kinds of signal to the LED frame as can be seen in the video's to the right.

The Arduino code has been updated to always fade (quickly) to the colors determined by the program or motion detection. This prevents erratic changing of colours (and likely some epileptic seizures).

The python code can be found in the setup picture above.

​

​

Update 2

​

Virtually all components are ready to use:

​

I've taken a laptop from Marktplaats to serve as my hobby/programming laptop. Python is successfully installed including the required libraries (Numpy, OpenCV). A simple USB webcam is used as the main input device (for capturing hand gestures/movement).

​

Because the DMX signal requires accurate timing, the best solution to create the signal was to use an Arduino dedicated just for this task. This way the processor of the laptop (or Raspberry) won't have switch between running a motion capture program and generating the signal. The arduino receives commands from the laptop in serial form (format: "123,456x", where 123 is the DMX channel, 456 is the value/brightness and 'x' is an indicator to separate between commands).

 

The light fixtures themselves consist of 2 RGB LED pars and a 24-channel (8x RGB) 24V power supply. The power supply will power 5 1-meter LED-strips. The pars seem to be damaged a bit as some LEDs don't switch on. I'm hoping this is fixable. The LED-strips have to be cut down to size, soldered and mounted on a useable platform.

 

Update 1

​

I've got an Arduino set up to generate the DMX signal itself. Now I have to figure out how to tell the Arduino which colours I want and at what channel(s). This shouldn't be to hard (could just use the serial port), but it's my first time of having devices communicate with each other this way.

​

​

“Scientists have calculated that the chance of anything so patently absurd actually existing are millions to one. But magicians have calculated that million-to-one chances crop up nine times out of ten”.
- Terry Pratchett, Mort

bottom of page