DESIGN CHALLENGE: Make a device to control a light. Use an RGB LED as a stand-in for a larger lamp in class. Your device should support the following actions:

  • A control to turn the light on and off. When it turns on, it should retain the relative red, green, and blue brightness levels from when it was last turned on.
  • The ability to fade each color channel (red, green, and blue) from off to full brightness.
  • Fade level should be maintained when you release the fade controller.
  • Fade should be interrruptable by other controllers, e.g. on/off or another fade controller.
  • The ab ility to fade the overall brightness of the light.

Make a housing for your controller. 

I collaborated with Olivia on this project. We used an Arduino Uno, three potentiometers and two sewable NeoPixels Olivia had purchased from Adafruit. We housed the project in a reused cardboard box and diffused the light with two acrylic cylinders Olivia found on the junk shelf.

The prototype we made reminds me of Mike Kelley's resin Krypton sculptures

From the beginning our plan was that each potentiometer would control one color on the RGB scale via an analog pin.  

We came into the project thinking that wiring and programming the lighting controller would be much more complicated than it actually was. Most of our time programming was spent backtracking out of complicated formulas and referencing basic Arduino tutorials to update our code. We ultimately referenced code from Tom Igoe’s NeoPixel examples, Jamie Ruddy’s assignment, and Olivia's armor game project. 

Fabricating this project took forever precisely because we tried to cut corners. Realizing this made us feel dumb. We didn't laser cut a box, solder our circuits, or even cut our wires down to size, and we paid for it by troubleshooting late into the night after we put everything together. 

The final product was beautiful, although while making it we couldn't figure out how to add an overall dimmer. Ultimately we learned that we wouldn't need to program an overall dimmer at all- the solution is much simpler. We could control the brightness of the entire circuit with a fourth potentiometer that controls overall voltage to the programmed potentiometers. This is something we learned back in the first few weeks of ITP!