Tangible Interaction Workshop – Lighting Controller

IMG_1635

This is a wireless controller for the type of stage lights found in many performance venues.  The controller selects colors, changes the brightness, and turns the light on and off. The enclosure itself has a strong visual design that doubles as a control panel, suggesting to users how to interact with a circular soft potentiometer, a sensor not familiar to most people.

Tools: Soft potentiometer and rotary encoder, Arduino MKR1000 microcontroller, Tom Igoe’s sACNSource.h library, and vinyl adhesive sheets.

Demonstrating the controller’s color selection feature.

How It Works

The user’s interactions with the tangible sensors causes analog and digital signals to be sent to the Arduino microcontroller. Code saved on the microcontroller runs logic to determine what to do based on these signals, and then stores answers that are sent via wifi to lights using the DMX protocol (the standard language used to communicate with these standard lights found in performance and retail spaces).

IMG_1624

The circuitry inside.

Creative Process

Prototype 1 – Test Connectivity

  • Ran generic tests to guarantee connectivity to existing wifi and lights systems. Used simple code to connect microcontroller to private WiFi network and send DMX commands to stage lights.

Prototype 2 – Draft Pseudo Code & Test Features

  • Drafted code’s logic and structure to realize new designs for lighting controller.
  • Got help from Tom Igoe doing office hours to clarify understanding of rotary encoder’s behavior and how data is compiled to be sent as packets.
  • Obtained clean readings from sensors & tested new features by implementing one block of code at a time to isolate bugs and ensure smooth progress.

Final Prototype – Write Final Code & Fabricate

  • Controlled lights and fabricated enclosure.

 

Challenges & Next Time

I’d like to understand why my all of my controller’s features work when powered by my laptop, but only half work when powered by a LiPo battery (I used a 3.7v 2000mAh battery, which should be enough but I will have to find out). I also have some flow issues in the structure of my code, so that while a command exists to entirely shut off the lights, it’s not being activated. I hope to completely finish this controller and the MIDI music controller this spring.

Code

https://gist.github.com/fergfluff/0a3488d62a5def73f7a23fa10a46b91d